> 文档中心 > C#中Map(即Dictionary)用法

C#中Map(即Dictionary)用法

在C#中想要使用Map时,发现没有Map,但是有替代方案,就是使用Dictionary。

Dictionary< string , string > hashMap = new Dictionary< string , string >();

说明:
1、必须包含名空间System.Collection.Generic
2、Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)
3、键必须是唯一的.而值不需要唯一的
4、键和值都可以是任何类型(比如: string, int,自定义类型,等等)
5、通过一个键读取一个值的时间是接近O(1)
6、键值对之间的偏序可以不定义

C#代码

//创建及初始化Dictionary<int,string>myDictionary=newDictionary<int,string>();//添加元素myDictionary.Add(1,"C#");myDictionary.Add(2,"C++");myDictionary.Add(3,"ASP.NET");myDictionary.Add(4,"MVC");//通过Key查找元素if(myDictionary.ContainsKey(1)){    Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);} //通过KeyValuePair遍历元素foreach(KeyValuePair<int,string>kvp in myDictionary){    Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);}//仅遍历键 Keys 属性Dictionary<int,string>.KeyCollection keyCol=myDictionary.Keys;foreach(intkeyinkeyCol){    Console.WriteLine("Key = {0}", key);}//仅遍历值 Valus属性Dictionary<int,string>.ValueCollection valueCol=myDictionary.Values;foreach(stringvalueinvalueCol){    Console.WriteLine("Value = {0}", value);}//通过Remove方法移除指定的键值myDictionary.Remove(1);if(myDictionary.ContainsKey(1)){  Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);}else{    Console.WriteLine("不存在 Key : 1");  }

好看字体下载