代码改变世界

C#常用集合总结-3

2010-11-10 23:52  王祖康  阅读(660)  评论(0编辑  收藏  举报

(5)Hashtable:表示键/值的集合,这些键/值对根据键的哈希代码进行组织。

代码如下:

Hashtable ht = new Hashtable();

 ht.Add(0,"张三");

 ht.Add(1,"李四");

 ht.Add(2,"王五");

 //值的 foreach (var v in ht.Values) { Console.WriteLine(v); }

 //键 foreach (var k in ht.Keys) { Console.WriteLine(k); }

 说明:只要键对象用作Hashtable中的键,它们就必须是不变的。当把某个元素添加到Hashtable中时,将会根据键的哈希代码将元素存放到一块存储区中。此键的后续查找将使用键的哈希代码只是一个特定存储区中搜索,这就会大大减少为查找某一个元素所需要键比较的次数。Hashtable的容量是Hashtable可拥有的元素数,随着我们向Hashtable中添加元素,容量就会通过重新分配按照需要进行自动增加。

名称 说明

Add 将带有指定键和值的元素添加到 Hashtable 中。

 Clear 从 Hashtable 中移除所有元素。

 Clone 创建 Hashtable 的浅表副本。

 Contains 确定 Hashtable 是否包含特定键。

ContainsKey 确定 Hashtable 是否包含特定键。

 ContainsValue 确定 Hashtable 是否包含特定值。

 CopyTo 将 Hashtable 元素复制到一维 Array 实例中的指定索引位置。

 GetEnumerator 返回循环访问 Hashtable 的 IDictionaryEnumerator。

 GetHash 返回指定键的哈希代码。

 GetObjectData 实现 ISerializable 接口,并返回序列化 Hashtable 所需的数据。

 KeyEquals 将特定 Object 与 Hashtable 中的特定键进行比较。

 MemberwiseClone 创建当前 Object 的浅表副本。

 OnDeserialization 实现 ISerializable 接口,并在完成反序列化之后引发反序列化事件。

Remove 从 Hashtable 中移除带有指定键的元素。

 Synchronized 返回 Hashtable 的同步(线程安全)包装。

 ToString 返回表示当前 Object 的 String。 Comparer(已过时) 获取或设置要用于 Hashtable 的 IComparer。

 Count 获取包含在 Hashtable 中的键/值对的数目。

 EqualityComparer 获取要用于 Hashtable 的 IEqualityComparer。

 Hcp(已过时) 获取或设置可分配哈希代码的对象。

 IsFixedSize 获取一个值,该值指示 Hashtable 是否具有固定大小。

 IsReadOnly 获取一个值,该值指示 Hashtable 是否为只读。

 IsSynchronized 获取一个值,该值指示是否同步对 Hashtable 的访问(线程安全)。

Item 获取或设置与指定的键相关联的值。

Keys 获取包含 Hashtable 中的键的 ICollection。

 SyncRoot 获取可用于同步 Hashtable 访问的对象。

 Values 获取包含 Hashtable 中的值的 ICollection。

 

 (6)List:表示可通过索引访问的对象的强类型列表。 List 类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList 泛型接口。 T是一个类型参数,标明列表中元素的准确类型,而不是ArrayList中的object中的类型。类型可以是值类型也可以是引用类型。

代码如下:

 List li = new List();//泛型就避免了装箱和拆箱的操作。

 li.Add(1); li.Add(2); li.Add(3);

 for (int j = 0; j < li.Count; j++) { Console.WriteLine(li[j]); }

Console.WriteLine("-----------");

foreach (int k in li) { Console.WriteLine(k); }

 名称 说明

Aggregate 对序列应用累加器函数。

 All 确定序列中的所有元素是否满足条件。

 AsEnumerable 返回类型为 IEnumerable 的输入。

 Cast 将 IEnumerable 的元素转换为指定的类型。

 Concat 连接两个序列。

ElementAt 返回序列中指定索引处的元素。

 ElementAtOrDefault 返回序列中指定索引处的元素;如果索引超出范围,则返回默认值。

OfType 根据指定类型筛选 IEnumerable 的元素。

Reverse 反转序列中元素的顺序。

 Skip 跳过序列中指定数量的元素,然后返回剩余的元素。

 Take 从序列的开头返回指定数量的连续元素。

 ToArray 从 IEnumerable 创建一个数组。

 ToList 从 IEnumerable 创建一个 List。

Capacity 获取或设置该内部数据结构在不调整大小的情况下能够容纳的元素总数。

 Count 获取 List中实际包含的元素数。

 Item 获取或设置指定索引处的元素。