Dictionary基础定义:

  1. 从一组键(key)到一组值(value)的映射,每一个添加项都是由一个值及其相关联的键组成;
  2. 任何键都必须是唯一的;
  3. 键不能为空引用的null(VB中的Nothing),若值为引用类型,则可以为空;
  4. key 和value可以是任何类型(int,string,bool等);

Demo:key为int类型,值为string类型

初始化

  Dictionary<int,string> dic=new Dictionary<int,string>();

添加元素 

  dic.Add(1,"C#");

  dic.Add(2,"Java");

通过key查找元素

  if(dic.ContainsKey(1))

    {

    key(主键)=1;

    value(数据列)=dic[1];

   }

通过keyValuePair遍历元素

  foreach(keyValuePair<int,string>kvp in dic)

  {

    Console.WriteLine("key={0},value{1}",kvp.key,key.value);

    key(主键)=kvp.key;

    key(数据列)=kvp.value;

  }

近遍历键keys属性

  Dictionary<int,string>.keyConllection keycol=dic.keys;

  foreach(int key in keycol)

  {

    key(主键)=key;

  }

仅遍历values属性

  Dictionary<int,string>.ValueConllection valcol=dic.values;

  foreach(string value in valcol)

  {

    value(数据列值)=value;

  }

通过Remove方法移除指定的键值

  dic.Remove(1);

   if(dic.ContainsKey(1))

   {

    key=1;

    value=key[1]

   }

   else  {

   Console.WriteLine("不存在key:1");

}

Dictionary常用属性和方法:

  1. Comparer:获取用于确定字典中的键是否相等的IEqualityComparer;
  2. Count:获取包含在Dictionary中的键/值对的总数;
  3. Item:获取或设置与指定的键相关联的值;
  4. keys:获取包含Dictionary中键的集合;
  5. values:获取包含Dictionary中值的集合;
  6. Add:将指定的键和值添加到字典中;
  7. Clear:从Dictionary中移除所有的键和值;
  8. ContainsKey:确定Dictionary是否包含指定的键;
  9. ContainsValue:确定Dictionary是否包含特定值;
  10. GetEnumerator:返回循环访问Dictionary的枚举数;
  11. GetType:获取当前实例的type(从object继承);
  12. Remove:从Dictionary中移除所指定的键的值;
  13. Tostring:返回表示当前Object的string(从object继承);
  14. TryGetValue:获取与指定的键相关联的值;

Dictionary集合运用的更多相关文章

  1. C#Dictionary集合的使用

    题目:输入一串字符串字母,比如:Welcome to China,比较每个字母出现的次数,不区分大小写. 解决这道题的方法很多.可能一百个人有一百个思路.当时第一眼看到这个题我的思路是:先将接受的一串 ...

  2. Collection was modified; enumeration operation may not execute Dictionary 集合已修改;可能无法执行枚举操作

    public void ForeachDic() { Dictionary dic = new Dictionary(); dic.Add("1", 10); dic.Add(&q ...

  3. Dictionary集合 字典

    1 Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(,"张三"); ...

  4. C#泛型集合之Dictionary<k, v>使用技巧

    1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...

  5. ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例

    在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...

  6. C#泛型集合—Dictionary<K,V>使用技巧

    转载:http://blog.csdn.net/a125138/article/details/7742022 1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collec ...

  7. 转载C#泛型集合—Dictionary<K,V>使用技巧

    1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...

  8. 使用Dictionary泛型集合封装业务逻辑判断 z

    C#2.0 提供了Dictionary 泛型类,它提供了从一组键到一组值的映射.字典中的每个添加项都由一个值及其相关联的键组成.通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictio ...

  9. 04.Dictionary字典键值对集合

    Dictionary字典键值对集合和Hashtable键值对集合的功能非常类似, 只是在声明的时候,必须为其制定值的类型. 示例代码: namespace _11.Dictionary字典集合的学习 ...

随机推荐

  1. 必会SQL练习题

    ()表名:购物信息 购物人 商品名称 数量 A 甲 B 乙 C 丙 A 丁 B 丙 …… 给出所有购入商品为两种或两种以上的购物人记录 答:); ()表名:成绩表 姓名 课程 分数 张三 语文 张三 ...

  2. java中==和equals的区别(转)

    java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean   他们之间的比较,应用双等号(== ...

  3. vue--vant组件库Dialog弹出框

    安装vant UI框架: cnpm install vant –-save-dev 导入组件-在main.js里: import Vant from 'vant'; import'vant/lib/v ...

  4. python小技巧---打印出不同颜色的输出

    在调试代码时打印常常一种颜色,找个东西真的是很难,在一次听金角大王的视频中听到了个方法,也是喀什使用了,本来不打算做记录了,可是稍微有几天不用,还得翻之前的代码,找着也是听麻烦的,现在在这里做个记录 ...

  5. 【设计模式】工厂模式(Factory Pattern)

    [前言] 很多时候我们编写了好几个接口的实现类,这些实现类分别有不同特性,用在不同的情景下.而我们对于这些实现类,也往往不会对外暴露内部增加的方法,只希望外部调用接口的方法,在这种情况下,我们没必要让 ...

  6. 括号生成(Java实现)

    题目: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n =3,生成结果为: [ "((()))", "(()( ...

  7. Python中怎么读写文件

    python中对文件的操作大概分为三步:打开文件.操作文件(读.写.追加写入).关闭文件. 1.无论对文件做哪种操作,操作前首先要保证文件被打开了,即需要一个打开的操作. 例:open(XXX.txt ...

  8. sunset

    may there be enough clouds in your life to make a beautiful sunset

  9. 1GB pages can only be allocated at boot time using hugepages= and not freed afterwards

    2018-6-27 9:12:38 https://stackoverflow.com/questions/26385554/error-setting-nr-hugepages-via-sysfs ...

  10. Headless Service 和Service

    定于spec:clusterIP: None 还记得Service的Cluster IP是做什么的吗?对,一个Service可能对应多个EndPoint(Pod),client访问的是Cluster ...