Dictionary泛型
字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的,键和值都可以是任何类型。字典(Dictionary)是常用于查找和排序的列表。
说明
必须包含名空间System.Collection.Generic 。
Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 。
键必须是唯一的,而值不需要唯一的 。
键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 。
通过一个键读取一个值的时间是接近O(1) 。
键值对之间的偏序可以不定义。
常用属性
名称 | 说明 |
---|---|
Comparer | 获取用于确定字典中的键是否相等的 IEqualityComparer<T>。 |
Count | 获取包含在 Dictionary<TKey, TValue> 中的键/值对的数目。 |
Item | 获取或设置与指定的键相关联的值。 |
Keys | 获取包含 Dictionary<TKey, TValue> 中的键的集合。 |
Values | 获取包含 Dictionary<TKey, TValue> 中的值的集合。 |
常用方法
名称 | 说明 |
---|---|
Add | 将指定的键和值添加到字典中。 |
Clear | 从 Dictionary<TKey, TValue> 中移除所有的键和值。 |
ContainsKey | 确定 Dictionary<TKey, TValue> 是否包含指定的键。 |
ContainsValue | 确定 Dictionary<TKey, TValue> 是否包含特定值。 |
Equals(Object) | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
GetEnumerator | 返回循环访问 Dictionary<TKey, TValue> 的枚举器。 |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) |
GetObjectData | 实现 System.Runtime.Serialization.ISerializable 接口,并返回序列化 Dictionary<TKey, TValue> 实例所需的数据。 |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
OnDeserialization | 实现 System.Runtime.Serialization.ISerializable 接口,并在完成反序列化之后引发反序列化事件。 |
Remove | 从 Dictionary<TKey, TValue> 中移除所指定的键的值。 |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
TryGetValue | 获取与指定的键相关联的值。 |
static void Main(string[] args) { Dictionary<string, string> dss = new Dictionary<string, string>();//声明 Dictionary<string, int> dsi = new Dictionary<string, int>();//声明 Dictionary<int, string> dis = new Dictionary<int, string>();//声明 dis.Add(1,"aa");//添加元素 dis.Add(2,"bb");//添加元素 dis.Add(3,"cc");//添加元素 dis.Add(4,"ee");//添加元素 Console.WriteLine(dis.ContainsValue("cc"));//查找表中是否包含"cc"字符串 dis[4] = "dd"; //更改指定键的值。 foreach (int i in dis.Keys)//遍历 { Console.WriteLine(i+"键对应的值为:"+dis[i]);//输出 } Console.ReadKey();//按任意键退出 }
输出结果: