Dictionary<TKey,TValue>:表示键和值的集合
TKey:字典中的键的类型。TValue:字典中的值的类型。
初始化:
Dictionary<int, string> DIC = new Dictionary<int, string>() { { 5, "科" }, { 7, "种" }, { 4, "目" }, { 2, "门" }, { 1, "界" }, { 3, "纲" }, { 6, "属" }, };
Dictionary<int, string> DIC1 = new Dictionary<int, string> { { 1, "界" }, { 2, "门" }, { 3, "纲" }, { 4, "目" }, { 5, "科" }, { 6, "属" }, { 7, "种" } };
Dictionary<int, string> DIC2 = new Dictionary<int, string>(); //实例化对象
添加元素:
//添加元素
DIC2.Add(1, "界");
DIC2.Add(2, "门");
if (DIC2.ContainsKey(1)) //是否包含指定键
{
//包含了键1
}
if (DIC2.ContainsValue("界"))//是否包含指定值
{
//包含了值"界"
}
注意:其中键(TKey)不能重复,否则引发异常“System.ArgumentException:已添加了具有相同键的项。”
TValue Dictionary<TKey,TValue>[Key] 根据键获取指定值:
string a=DIC[1];
使用索引器来取值时,如果键不存在就会引发异常KeyNotFoundException。
排序:
在初始化DIC时,顺序是乱的,现在要按键大小排序
Dictionary<int, string> DIC2 = new Dictionary<int, string>(); //实例化对象
var result = from item in DIC orderby item.Key select item;
foreach (KeyValuePair<int, string> it in result)
{
DIC2.Add(it.Key,it.Value);
}
DIC = DIC2;
获取值或键的集合:
方式一:
Dictionary<int, string>.ValueCollection values = DIC.Values;//获取值的集合
Dictionary<int, string>.KeyCollection keys = DIC.Keys;
foreach (string a in values)
{
}
方式二:
foreach (string a in DIC.Values)
{
}