1.要使用Dictionary集合,需要导入C#泛型命名空间


 System.Collections.Generic //程序集:mscorlib

2.Dictionary的描述

从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成

任何键都必须是唯一的

键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值

Key和Value可以是任何类型(string,int,custom class 等)

3.Dictionary常用用法:以 key 的类型为 int , value的类型为string 为例

创建及初始化


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

4.其它常见属性和方法的说明:


  Comparer:          // 获取用于确定字典中的键是否相等的 IEqualityComparer。  Count:                 // 获取包含在 Dictionary中的键/值对的数目。  Item:                    //获取或设置与指定的键相关联的值。  Keys:                  // 获取包含 Dictionary中的键的集合。  Values:               // 获取包含 Dictionary中的值的集合。  Add:                   // 将指定的键和值添加到字典中。  Clear:                  //从 Dictionary中移除所有的键和值。  ContainsKey:      //确定 Dictionary是否包含指定的键。  ContainsValue:   //确定 Dictionary是否包含特定值。               GetEnumerator: // 返回循环访问 Dictionary的枚举数。  GetType:           //  获取当前实例的 Type。 (从 Object 继承。)  Remove:             //从 Dictionary中移除所指定的键的值。  ToString:             //返回表示当前 Object的 String。 (从 Object 继承。)  TryGetValue:      //获取与指定的键相关联的值。

更多相关文章

  1. C#中String类型与json之间相互转换的实现方法
  2. C#中引用类型之特例string的详细介绍
  3. C#中值类型与引用类型的详细介绍
  4. c/c++字符串函数是什么类型和它是如何转换的?举例说明
  5. C++11常用语法- explicit类型转换运算符的具体用法
  6. C++中的四种强制类型转换_基本用法及使用场景
  7. C#引用类型: 按值传递,按引用传递的对比
  8. C++ 布尔类型和引用的用法详解
  9. 第二章C++:变量和基本类型

随机推荐

  1. golang怎么判断数组是否为空
  2. golang 有gc吗
  3. golang 中const是什么
  4. golang 协程占多大内存
  5. golang 指针怎么用
  6. golang 为什么没有枚举
  7. golang 怎么做热更新
  8. GOLANG 为什么还有指针
  9. golang 怎么调用c代码
  10. golang 数组存的是什么