Dictionary<TKey, TValue>
- 表示键和值的集合。
- TKey:字典中的键的类型。
- TValue:字典中的值的类型。
定义
几种基本的语法格式:
一:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例为空,具有默认的初始容量并为键类型使用默认的相等比较器。
Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>();
二:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例为空,具有指定的初始容量并为键类型使用默认的相等比较器。
Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>(可包含的初始元素数);
三:初始化 System.Collections.Generic.Dictionary`2 类的新实例,该实例包含从指定的 System.Collections.Generic.IDictionary`复制的元素并为键类型使用默认的相等比较器。
Dictionary<键数据类型, 值数据类型> 标识符 = new Dictionary<键数据类型, 值数据类型>(复制元素到新字典的源字典);
Dictionary<TKey, TValue> 类的一些常用的属性
public int Count { get; }
官方摘要:获取包含在 System.Collections.Generic.Dictionary`2 中的键/值对的数目。
返回结果:包含在 System.Collections.Generic.Dictionary`2 中的键/值对的数目。
简单理解:获取实际的元素数目。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
Console.WriteLine(dic.Count);
--->
0
Dictionary<TKey, TValue> 类的一些常用的方法
public void Add(TKey key, TValue value);
官方摘要:将指定的键和值添加到字典中。
参数说明:
- key:要添加的元素的键。
- value:要添加的元素的值。
简单理解:添加元素。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
foreach (var item in dic)
{
Console.WriteLine(item);
}
--->
[1, aa]
[2, bb]
[3, cc]
public void Clear();
官方摘要:将所有键和值从 System.Collections.Generic.Dictionary`2 中移除。
简单理解:移除所有元素。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
dic.Clear();
dic.Add(4,"dd");
foreach (var item in dic)
{
Console.WriteLine(item);
}
--->
[4, dd]
public bool ContainsKey(TKey key);
官方摘要:确定是否 System.Collections.Generic.Dictionary`2 包含指定键。
参数说明:
- key:要在 System.Collections.Generic.Dictionary`2 中定位的键。
返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定键的元素,则为true;否则为 false。
简单理解:判断是否包含指定的键。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
Console.WriteLine(dic.ContainsKey(1));
--->
True
public bool ContainsValue(TValue value);
官方摘要:确定 System.Collections.Generic.Dictionary`2 是否包含特定值。
参数说明:
- value:要在 System.Collections.Generic.Dictionary`2 中定位的值。 对于引用类型,该值可以为 null。
返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定值的元素,则为true;否则为 false。
简单理解:判断是否包含指定的值。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
Console.WriteLine(dic.ContainsValue("dd"));
--->
False
public bool Remove(TKey key);
官方摘要:将带有指定键的值从 System.Collections.Generic.Dictionary`2 中移除。
参数说明:
- key:要移除的元素的键。
返回结果:如果成功找到并移除该元素,则为 true;否则为 false。 如果在 System.Collections.Generic.Dictionary`2 中没有找到 key,则此方法返回 false。
简单理解:移除带有指定键的值。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
Console.WriteLine(dic.Remove(2));
foreach (var item in dic)
{
Console.WriteLine(item);
}
--->
True
[1, aa]
[3, cc]
public bool TryGetValue(TKey key, out TValue value);
官方摘要:获取与指定键关联的值。
参数说明:
- key:要获取的值的键。
- value:当此方法返回时,如果找到指定键,则包含与该键相关的值;否则包含 value 参数类型的默认值。 此参数未经初始化即被传递。
返回结果:如果System.Collections.Generic.Dictionary`2包含具有指定键的元素,则为true ;否则为 false。
简单理解:获取指定键的值。
代码示例:
Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(1, "aa");
dic.Add(2, "bb");
dic.Add(3, "cc");
string s;
Console.WriteLine(dic.TryGetValue(3,out s));
Console.WriteLine(s);
--->
True
cc