C# 集合

参考资料: https://www.cnblogs.com/kissdodog/archive/2013/01/29/2882195.html

     https://www.cnblogs.com/maj99/p/6322626.html

IEnumerable:所有集合都要继承IEnumerable。IEnumerable接口只要一个方法GetEnumerator 。返回值是IEnumerator类型,继承它可以就可以使用枚举器foreach

IEnumerator : 支持在集合上进行简单的迭代

ICollection:定义集合的大小(count)、枚举器(foreach)、同步方法(copyto)继承

ICloneable: 只有一个Clone()方法

ArrayList : 类似数组的集合,容量是固定的,默认初始容量为0,可使用add添加,不对其子集进行约束,可以添加任意类型数据。继承于:IEnumerable, IList, ICollection, ICloneable

 1             ArrayList arraylist = new ArrayList();
 2             int num = arraylist.Count;//0
 3             arraylist.Add(new Cl());
 4             arraylist.Add("ddd");
 5             arraylist.Add(55555);
 6 
 7             num = arraylist.Count;//3
 8 
 9             arraylist = new ArrayList(5);
10             num = arraylist.Count;//0

HashTable:提供HashTable的集合类型(别称哈希表或者字典)。以键值对存储数据。键值都是object类型

       属性:keys、values、count

       方法:Add(object key,object value)、Remove()、clear()

       与ArrayList的区别:HashTable可以使用键来查找对象

List<T>:泛型集合。类型参数T。通过类型参数T约束参数。可以最大限度重用并保证类型安全(减少了强制装箱的风险)、提高性能

       与ArrayList的区别:增加了类型约束(ArrayList可以添加任意类型),添加时不需要进行装箱拆箱

Dictionary<K,V>:泛型字典。跟HashTable类型,就是增加的类型约束(HashTable是可以添加任意类型)Dictionary<K,V>添加、读取值类型元素无需拆箱、装箱,而HashTable需要做拆箱、装箱处理。

    定义语法:Dictionary<K,V>对象名 = new Dictionary<K,V>

原文地址:https://www.cnblogs.com/net-god/p/9855096.html