集合和数据结构
更新:2007 年 11 月
如果将紧密相关的数据组合到一个集合中,则能够更有效地处理这些紧密相关的数据。代替编写不同的代码来处理每一单独的对象,您可以使用相同的调用代码来处理一个集合的所有元素。
若要管理集合,请使用 Array 类和 System.Collections 类添加、移除和修改集合中的个别元素或某一范围内的元素。甚至可以将整个集合复制到另一个集合中。
某些 Collections 类具有排序功能并且大多数都有索引。自动处理内存管理,集合的容量会根据需要扩展。当访问集合成员时同步提供线程安全。某些 Collections 类可以生成包装,这些包装令集合是只读的或固定大小的。任何 Collections 类都可以生成自己的枚举数,该枚举数简化了对元素的循环访问。
在 .NET Framework 2.0 版中,泛型集合类提供了新功能,并使得创建强类型集合变得容易。请参见 System.Collections.Generic 和 System.Collections.ObjectModel 命名空间。
LINQ to Objects 功能允许使用 LINQ 查询访问内存中的对象,但条件是该对象类型要实现 IEnumerable 或 IEnumerable<T>。LINQ 查询提供了一种通用的数据访问模式;与标准 foreach 循环相比,它通常更加简洁,可读性更高;这种查询可提供筛选、排序和分组功能。LINQ 查询还可提高性能。有关更多信息,请参见 LINQ to Objects。
本节内容
定义集合
描述集合类型是什么,以及 .NET Framework 类库中的泛型和非泛型集合类型之间的一些区别。常用的集合类型
描述诸如 Array、List<T> 和 Dictionary<TKey, TValue> 等常用泛型和非泛型集合类型。位集合
描述 BitArray 和 BitVector32 集合类型。专用集合
描述诸如 NameValueCollection、StringDictionary 和 StringCollection 等特殊用途的集合。创建和操作集合
讨论如何选择最好的集合类型,枚举集合,与多线程一起使用集合以及对集合进行排序。何时使用泛型集合
讨论泛型集合类型的使用。
参考
Array
描述 Array 类的主要功能,该类提供一些方法,用于创建、处理、搜索数组并对数组进行排序,从而充当公共语言运行库中所有数组的基类。System.Collections
提供 System.Collections 命名空间的参考文档,该命名空间包含定义各种对象集合的接口和类。System.Collections.Generic
提供 System.Collections.Generic 命名空间的参考文档,该命名空间包含定义泛型集合的接口和类。System.Collections.Specialized
提供 System.Collections.Specialized 命名空间的参考文档,该命名空间包含专用和强类型集合。