Dictionary基础定义:
- 从一组键(key)到一组值(value)的映射,每一个添加项都是由一个值及其相关联的键组成;
- 任何键都必须是唯一的;
- 键不能为空引用的null(VB中的Nothing),若值为引用类型,则可以为空;
- key 和value可以是任何类型(int,string,bool等);
Demo:key为int类型,值为string类型
初始化
Dictionary<int,string> dic=new Dictionary<int,string>();
添加元素
dic.Add(1,"C#");
dic.Add(2,"Java");
通过key查找元素
if(dic.ContainsKey(1))
{
key(主键)=1;
value(数据列)=dic[1];
}
通过keyValuePair遍历元素
foreach(keyValuePair<int,string>kvp in dic)
{
Console.WriteLine("key={0},value{1}",kvp.key,key.value);
key(主键)=kvp.key;
key(数据列)=kvp.value;
}
近遍历键keys属性
Dictionary<int,string>.keyConllection keycol=dic.keys;
foreach(int key in keycol)
{
key(主键)=key;
}
仅遍历values属性
Dictionary<int,string>.ValueConllection valcol=dic.values;
foreach(string value in valcol)
{
value(数据列值)=value;
}
通过Remove方法移除指定的键值
dic.Remove(1);
if(dic.ContainsKey(1))
{
key=1;
value=key[1]
}
else {
Console.WriteLine("不存在key:1");
}
Dictionary常用属性和方法:
- Comparer:获取用于确定字典中的键是否相等的IEqualityComparer;
- Count:获取包含在Dictionary中的键/值对的总数;
- Item:获取或设置与指定的键相关联的值;
- keys:获取包含Dictionary中键的集合;
- values:获取包含Dictionary中值的集合;
- Add:将指定的键和值添加到字典中;
- Clear:从Dictionary中移除所有的键和值;
- ContainsKey:确定Dictionary是否包含指定的键;
- ContainsValue:确定Dictionary是否包含特定值;
- GetEnumerator:返回循环访问Dictionary的枚举数;
- GetType:获取当前实例的type(从object继承);
- Remove:从Dictionary中移除所指定的键的值;
- Tostring:返回表示当前Object的string(从object继承);
- TryGetValue:获取与指定的键相关联的值;