C#中泛型之Dictionary

时间:2021-08-15 04:13:10

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#");