C# Dictionary 函数解析及使用方法

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

    System.Collections.Generic(程序集:mscorlib)

  2.  Dictionary的描述

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

    2、任何键都必须是唯一的

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

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

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

     1、创建及初始化

     Dictionary<int,string>myDictionary=newDictionary<int,string>();

     2、添加元素

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

    myDictionary.Add(2,"C++");

    myDictionary.Add(3,"ASP.NET");

    myDictionary.Add(4,"MVC");

     3、通过Key查找元素

    if(myDictionary.ContainsKey(1))

    {

    Console.WriteLine("Key:{0},Value:{1}","1", myDictionary[1]);

    }

     4、通过KeyValuePair遍历元素

    foreach(KeyValuePair<int,string>kvp in myDictionary)

    {

    Console.WriteLine("Key = {0}, Value = {1}",kvp.Key, kvp.Value);

    }

    5、仅遍历键 Keys 属性

    Dictionary<int,string>.KeyCollection keyCol=myDictionary.Keys;

    foreach(intkeyinkeyCol)

    {

    Console.WriteLine("Key = {0}", key);

    }

    6、仅遍历值 Valus属性

    Dictionary<int,string>.ValueCollection valueCol=myDictionary.Values;

    foreach(stringvalueinvalueCol)

    {

    Console.WriteLine("Value = {0}", value);

    }

    7、通过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:      获取与指定的键相关联的值。

    转自:https://www.cnblogs.com/jaejaking/p/5301288.html

原文地址:https://www.cnblogs.com/innershare/p/10762805.html

时间: 2024-08-09 06:13:15

C# Dictionary 函数解析及使用方法的相关文章

PHP json_decode 函数解析 json 结果为 NULL 的解决方法

在做网站 CMS 模块时,对于模块内容 content 字段,保存的是 json 格式的字符串,所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时,需要用到 json_decode() 函数. 但是在解析的时候,使用 json_decode() 函数解析的结果一直是 NULL,没有出现希望解析成的数组.下面是问题和分析: 1. 当输出 json 字符串时,代码和页面的显示内容分别是: echo $content = $res[0]['con']['content']; 只需要考虑 $c

python列表里__setslices__方法函数解析a

先看看列表里的__setslice__方法函数的帮助文档 help(list.__setslice__) 帮助文档如下所示: __setslice__(...) x.__setslice__(i, j, y) <==> x[i:j]=y Use of negative indices is not supported. 从帮助文档可以看出这个方法函数可以通过列表切片的方式来使用(运算映射函数).举例说明一下: In [1]: li = range(1, 11) In [2]: li Out[2

vbs 解析 json jsonp 方法

昨天说了下用 htmlfile 来解析 html,今天依然用他来解析,htmlfile 是一个 COM 版的 BOM 和 DOM,所以解析 html, 执行 js 完全不在话下,今天就继续解析 json 和 jsonp 吧. 我收集了三种常见 json jsonp 的格式,因为很多人找我说如何用正则提取某个字符串,我看了下,要么是json,要么是jsonp,正则简直浪费,比如那种空间里说说的数据,上百条的信息,你正则个P,而且还有回复里的格式也差不多的,所以最好的方法还是解析. 先来看看常见的三

socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送并得到确认后再返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send向网络发送缓存中不能容纳的那部分数据,并等待对端确认后再返回(接收端只要将数据收到接收缓存中,就会确认,并不一定要等待应用程序调

十七.jQuery源码解析之入口方法Sizzle(1)

函数Sizzle(selector,context,results,seed)用于查找与选择器表达式selector匹配的元素集合.该函数是选择器引擎的入口. 函数Sizzle执行的6个关键步骤如下: 1.解析选择器表达式,解析出块表达式和关系符. 2.如果存在位置伪类,则从左向右查找: a.查找第一个块表达式匹配的元素集合,得到第一个上下文元素集合. b.遍历剩余的块表达式和块间关系符,不断缩小上下文元素集合. 3.否则从右向左查找: a.查找最后一个块表达式匹配的元素集合,得到候选集,映射集

SimpleXML php 解析xml 的方法

SimpleXML是PHP5后提供的一套简单易用的xml工具集,可以把xml转换成方便处理的对象,也可以组织生成xml数据.不过它不适用于包含namespace的xml,而且要保证xml格式完整(well-formed).它提供了三个方法:simplexml_import_dom.simplexml_load_file.simplexml_load_string,函数名很直观地说明了函数的作用.三个函数都返回SimpleXMLElement对象,数据的读取/添加都是通过SimpleXMLElem

如何使用getopt()函数解析参数

最近在写程序的过程中,把一部分时间都花费在程序对参数的处理上.今天听了学长说到getopt函数,才发现原来c里面还有一个专门解决参数处理的函数,查询了相关资料,这里简单总结一下. 使用int main( int argc, char *argv[] )(或int main( int argc, char **argv ))时,系统将把用户输入的参数通过argc和argv引入程序中,argc为参数的个数,argv是指向参数的指针数组,其中第一个参数为自身程序文件名. 这里我们使用getopt() 

Matlab中bsxfun和unique函数解析

一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-by-element binary operation to arrays a and b, with singleton expansion enabled. 函数用在两个数组间元素逐个计算.比如当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只

iOS中解析json多种方法

我感觉JSON解析,重要的是JSON解析之后对结果的处理JSON解析后是个dictionary,但是字典中有可能包含字典和数组,数组中还可以包含字典.向客户端请求的返回数据解析下面就简单介绍一下JSON解析过程其实就一句话 "data就是解析数据"!!!!!!!!!!!!!! //xcode自带解析类NSJSONSerialization从data中解析出数据放到字典中NSDictionary *weatherDic = [NSJSONSerialization JSONObjectW