目录
Collections 命名空间
https://docs.microsoft.com/zh-cn/dotnet/api/system.collections?view=netcore-3.1
常用的集合类
ArrayList | 使用大小会根据需要动态增加的数组来实现 IList 接口。该类的工作方式与数组相似。它包含Array类未提供的附加方法来删除元素,并且排序列表和定义列表中的元素 |
BitArray | 管理位值的压缩数组,这些值以布尔值的形式表示,其中 |
Comparer | 比较两个对象是否相等,其中字符串比较是区分大小写的。 |
Hashtable | 表示根据键的哈希代码进行组织的键/值对的集合。排序是基于键的散列完成的 |
Queue | 表示对象的先进先出集合。 |
SortedList | 表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。 |
Stack | 表示对象的简单后进先出 (LIFO) 非泛型集合。即堆栈。 |
常用的接口
ICollection | 定义所有非泛型集合的大小、枚举数和同步方法。ICollection接口扩展IEnumerable.可以获取集合中项的个数,并能把项复制到一个简单的数组类型中 |
IComparer | 提供比较两个对象的方法。 |
IDictionary | 表示键/值对的非通用集合。 |
IDictionaryEnumerator | 枚举非泛型字典中的元素。 |
IEnumerable | 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。 |
IEnumerator | 支持对非泛型集合的简单迭代。 |
IHashCodeProvider | 使用自定义哈希函数为对象提供哈希代码。 |
IList | 表示可按照索引单独访问的对象的非泛型集合。IList接口扩展了ICollection接口,表示可按照索引单独访问的对象的非泛型集合。即实现该接口的类的成员可通过索引访问,如ArrayList类 |
ICollection 接口
https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.icollection?view=netcore-3.1
属性
Count | 获取 ICollection 中包含的元素数。 |
IsSynchronized | 获取一个值,该值指示是否同步对 ICollection 的访问(确保线程安全)。 |
SyncRoot | 获取用于同步对 ICollection 的访问的对象。于同步访问,SyncRoot属性可以用于线程安全的访问。这两个属性都是在ICollection接口中定义的 |
方法
CopyTo(Array, Int32) | 从特定的 ICollection 索引开始,将 Array 的元素复制到一个 Array 中。 |
GetEnumerator() | 返回循环访问集合的枚举器。 (继承自 IEnumerable) |
IList 接口
https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.ilist?view=netcore-3.1
属性
Count | 获取 ICollection 中包含的元素数。(继承自 ICollection) |
IsFixedSize | 获取一个值,该值指示 IList 是否具有固定大小。 |
IsReadOnly | 获取一个值,用于指示 IList 是否为只读。 |
Item[Int32] | 获取或设置指定索引处的元素。 |
方法
Add(Object) | 将项添加到 IList 中。 |
Clear() | 从 IList 中移除所有项。 |
Contains(Object) | 确定 IList 是否包含特定值。 |
CopyTo(Array, Int32) | 从特定的 ICollection 索引开始,将 Array 的元素复制到一个 Array 中。 (继承自 ICollection) |
IndexOf(Object) | 确定 IList 中特定项的索引。 |
Insert(Int32, Object) | 将项插入到 IList 中的指定索引处。 |
Remove(Object) | 从 IList 中删除特定对象的第一个匹配项。 |
RemoveAt(Int32) | 移除位于指定索引处的 IList 项。 |