1、命名空间:
System.Collections.Generic(程序集:mscorlib)
2、描述:
1)、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成
2)、任何键都必须是唯一的
3)、键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值
4)、Key和Value可以是任何类型(string,int,custom class 等)
3、创建及初始化:
Dictionary<intstring> myDictionary = new Dictionary<intstring>();
4、添加元素:
myDictionary.Add("C#",0);
myDictionary.Add("C++",1);
myDictionary.Add("C",2);
myDictionary.Add("VB",2);
5、查找元素By Key:
if(myDictionary.ContainsKey("C#"))
{
Console.WriteLine("Key:{0},Value:{1}", "C#", myDictionary["C#"]);
}
6.遍历元素 By KeyValuePair
foreach (KeyValuePair<string, int> kvp in myDictionary)
{
Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);
}
7、仅遍历键 By Keys 属性:
Dictionary<string, int>.KeyCollection keyCol = myDictionary.Keys;
foreach (string key in keyCol/*string key in myDictionary.Keys*/)
{
Console.WriteLine("Key = {0}", key);
}
8、仅遍历值By Valus属性:
Dictionary<string, int>.ValueCollection valueCol = myDictionary.Values;
foreach (int value in valueCol)
{
Console.WriteLine("Value = {0}", value);
}
9.移除指定的键值By Remove方法:
myDictionary.Remove("C#");
if (myDictionary.ContainsKey("C#"))
{
Console.WriteLine("Key:{0},Value:{1}", "C#", myDictionary["C#"]);
}
else
{
Console.WriteLine("不存在 Key : C#");
相关文章
- [C++]深入理解C++中的泛型编程、函数模板与类模板
- java中String xx xx_JAVA超级基础之String型字符串
- Java泛型中<? extends E>和<? super E>的区别
- Java中泛型Class、T与Class>、 Object类和Class类、 和
- Java泛型中类型限定<T extends 数据类型>和 通配符<? extentds 数据类型>的区别
- C#中的Dictionary简介
- Java 理论和实践: 了解泛型 识别和避免学习使用泛型过程中的陷阱
- C# 之 Dictionary 详解
- go语言泛型在IDE中语法报错
- Java中List泛型Map根据某一个key去重,保留一个数据。利用jdk8stream流实现去重