1.字典中的每个元素具备两个属性:键和值。
2.键值通过“键”排序,并可以按照键和索引访问(无说明时,默认索引从0开始),键在集合中唯一,值则可以是任意类型数据。
3.c#中字典的对象有两个:SortedList和Hashtable
eg:SortedList mylist=new SortedList();
mylist.Add("key1","benjing");
Hashtable mytable=new Hashtable()
mytable.Add("key1","shandong");
4.其中SortedList为可排序的字典,当添加元素时,元素按照正确的排序顺序插入SortedList,同时索引自动进行相应的调整,移除元素亦然。
using System;
using System.Collections;
class Class1
{
static void Main()
{
Hashtable mHash = new Hashtable();
SortedList mSort = new SortedList();
for (int i = 0; i < 15; i++)
{
string oKey = "Key " + i.ToString("D4");
string oValue = "Value " + i.ToString("x4");
mHash.Add(oKey, oValue);
mSort.Add("Key " + i.ToString("D2"), "Val " + i.ToString("X2"));
}
WrHlist(mHash);
WriteList(mSort);
Console.ReadLine();
}
public static void WrHlist(Hashtable h)
{
IDictionaryEnumerator mIDE = h.GetEnumerator();
while (mIDE.MoveNext())
{
Console.WriteLine("{0}:{1}", mIDE.Key, mIDE.Value);
}
}
public static void WriteList(SortedList mSor)
{
Console.WriteLine(" --以下为集合中所包含的对象元素键对!!-- ");
for (int i = 0; i < 10; i++)
{
Console.WriteLine("mSotr[{0}]的值为:{1}", mSor.GetKey(i), mSor["Key " +i]);
}
}
}
5.字典的遍历:使用DictionaryEntry对象
eg:
foreach(DictionaryEntry dic in mylist) //这里的mylist为哈希表初始化并增加键值后的集合。
{
label1.text=label2.text+dic.Value.ToString()+dic.Key.ToString();
}