C# 集合类

目录

使用简单集合
集合的类型
     System.Collections.Generic 类
  System.Collections.Concurrent 类
  System.Collections 类

System.Collections.ObjectModel(命名空间)-》  ReadOnlyCollection<T> 类

实现键/值对集合
使用 LINQ 访问集合
对集合排序

集合类的遍历方式
定义自定义集合
迭代器

 

集合类特有的遍历方式

            var numbers = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            int[] num={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            numbers.ForEach( number => Console.Write(number + " "));
            Array.ForEach(num,(nu => Console.Write(nu + " ")));

 通用集合类:

System.Collections.Generic 类
System.Collections.Concurrent 类
System.Collections 类

1、System.Collections.Generic 类

Dictionary<TKey,TValue>  表示基于键进行组织的键/值对的集合。
List<T>   表示可按索引访问的对象的列表。 提供用于对列表进行搜索、
Queue<T> 表示对象的先进先出 (FIFO) 集合。  
SortedList<TKey,TValue>    表示基于相关的 IComparer<T> 实现按键进行排序的键/ 值对的集合。
Stack<T> 表示对象的后进先出 (LIFO) 集合。


2、System.Collections.Concurrent 类

只要多个线程同时访问集合,就应使用 System.Collections.Concurrent 命名空间中的类,而不是
System.Collections.Generic 和 System.Collections 命名空间中的相应类型


3、System.Collections 类
System.Collections 命名空间中的类不会将元素作为特别类型化的对象存储,而是作为
 Object 类型的对象存储。会产生装箱/拆箱 造成性能上损失。
只要可能,则应使用 System.Collections.Generic 命名空间或 System.Collections.Concurrent 命名空间中的泛型
集合,而不是 System.Collections 命名空间中的旧类型。
ArrayList  表示对象的数组,这些对象的大小会根据需要动态增加。
Hashtable  表示根据键的哈希代码进行组织的键/值对的集合。
Queue  表示对象的先进先出 (FIFO) 集合。
Stack  表示对象的后进先出 (LIFO) 集合。
4、System.Collections.Specialized
System.Collections.Specialized 命名空间提供专门类型化以及强类型化的集合类,例如只包含字符串的集合以及
链接列表和混合字典。

5、ReadOnlyCollection<T> 类

 用与保存函数的参数列表 例如lambda表达式的参数列表就是 这个类型

 

 Expression<Func<Person, bool>> lambdaone = ex => ex.Name.Equals("张三");
//ss 返回值类型 就是ReadOnlyCollection<T> 类
            var ss = lambdatwo.Parameters;

 

posted @ 2021-10-10 09:23  小林野夫  阅读(96)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/