1.散列表(Hashtable)
散列表:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。
使用散列表的一个要点:
Hashtable实现了IDictionary接口,因此在Hashtable中存储的是DictionaryEntry,而使用foreach 语句时,需要集合中每个元素的类型。由于 Hashtable 的每个元素都是个键/值对,因此元素类型既不是键的类型,也不是值的类型。而是 DictionaryEntry 类型。
举例:
Person zhang = new Person("张","三");
Person li = new Person("李", "四");
Person wang = new Person("王", "五");
Hashtable hash = new Hashtable();
hash.Add("zhang", zhang);
hash.Add("li", li);
hash.Add("wang", wang);
2. SortedList
SortedList与Hashtable类似,也是一个关键字/值对的集合,但它按照其关键字来排序,其值可以通过数字索引来处理,与数组一样。
可以使用其IndexOfKey方法获取关键字对应的索引号。构造SortedList时,可以使用默认构造函数,也可以使用IDictionary作为其参数。
举例:
Person zhang = new Person("张", "三");
Person li = new Person("李", "四");
Person wang = new Person("王", "五");
SortedList list = new SortedList();
list.Add("d", zhang);
list.Add("b", li);
list.Add("c", wang);
int index = list.IndexOfKey("d");
Response.Write(index + "<br/>");
index = list.IndexOfValue(zhang);
Response.Write(index + "<br/>");
散列表:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织。
使用散列表的一个要点:
Hashtable实现了IDictionary接口,因此在Hashtable中存储的是DictionaryEntry,而使用foreach 语句时,需要集合中每个元素的类型。由于 Hashtable 的每个元素都是个键/值对,因此元素类型既不是键的类型,也不是值的类型。而是 DictionaryEntry 类型。
举例:
Person zhang = new Person("张","三");
Person li = new Person("李", "四");
Person wang = new Person("王", "五");
Hashtable hash = new Hashtable();
hash.Add("zhang", zhang);
hash.Add("li", li);
hash.Add("wang", wang);
2. SortedList
SortedList与Hashtable类似,也是一个关键字/值对的集合,但它按照其关键字来排序,其值可以通过数字索引来处理,与数组一样。
可以使用其IndexOfKey方法获取关键字对应的索引号。构造SortedList时,可以使用默认构造函数,也可以使用IDictionary作为其参数。
举例:
Person zhang = new Person("张", "三");
Person li = new Person("李", "四");
Person wang = new Person("王", "五");
SortedList list = new SortedList();
list.Add("d", zhang);
list.Add("b", li);
list.Add("c", wang);
int index = list.IndexOfKey("d");
Response.Write(index + "<br/>");
index = list.IndexOfValue(zhang);
Response.Write(index + "<br/>");