C#|Map (Dictionary)的用法

基础知识

在C#中没有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 = new Dictionary<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"); 
 }
posted @ 2022-09-02 13:49  Weltㅤ  阅读(4459)  评论(0编辑  收藏  举报