C# 字典 DIctionary

1. 使用字典原因

通常情况下,我们可以通过int类型的索引号来从数组或者list集合中查询所需的数据。但是如果情况稍微复杂一点:索引号是非int型数据比如string或其他类型该如何操作呢。这个时候我们就可以使用字典了。

2. 什么是字典

顾名思义,字典是一种让我们可以通过索引号查询到特定数据的数据结构类型。
关键字 DIctionary

3. 用法及注意事项

  • (1)C#的Dictionary<Tkey,TValue>类在内部维护两个数组来实现该功能。一个keys数组容纳要从其映射的键,另一个values容纳映射到的值。在Dictionary<Tkey,TValue>集合中插入键/值对时,将自动记录哪个键和哪个值关联,从而允许开发人员快速和简单地获取具有指定键的值。
  • (2)C#的Dictionary<Tkey,TValue>集合不能包含重复的键。调用Add方法添加键数组中已有的键将抛出异常。但是,如果使用方括号记法(类似给数组元素赋值)来添加键/值对,就不用担心异常——如果键已经存在,其值就会被新值覆盖。可用ContainKey方法测试Dictionary<Tkey,TValue>集合是否已包含特定的键。
  • (3)Dictionary<Tkey,TValue>集合内部采用一种稀疏数据结构,在有大量内存可用时才最高效。随着更多元素的插入,Dictionary<Tkey,TValue>集合可能快速消耗大量内存。
  • (4)用foreach遍历Dictionary<Tkey,TValue>集合返回一个KeyValuePair<Tkey,TValue>。该结构包含数据项的键和值拷贝,可通过Key和Value属性防蚊每个元素。元素是只读的,不能用它们修改Dictionary<Tkey,TValue>集合中的数据。

4. 实例

  Dictionary<string,string> students=new Dictionary<string,string>();

插入:

       students.Add ("S001","张三");

       students.Add ("S002","李四");

       students["S003"]="王五";

删除:

       students.Remove ("S000"); //直接删除建即可

修改:

     直接复制即可    students["S003"]="王五";

查询:

    foreach(KeyValuePair<string,string> stu in students)  //查询所Keys 和Value
          Debug.Log ("Key:"+stu.Key+"  Name:"+stu.Value);

    foreach (string value in students.Values)
          Debug.Log (value);

   foreach (string key in students.Keys)
         Debug.Log (key);

https://www.cnblogs.com/xingyuanzier/p/12031818.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 集合是.NET FCL(Framework Class Library)的重要组成部分,我们平常撸C#代码时免不了...
    aslbutton阅读 4,502评论 0 50
  • C#集合 有两种主要的集合类型:泛型集合和非泛型集合。 泛型集合被添加在 .NET Framework 2.0 中...
    OctOcean阅读 4,280评论 0 3
  • 一、数组数组是一组使用数字索引的对象,这些对象属于同一种类型。虽然C#为创建数组提供了直接的语言支持,但通用类型系...
    CarlDonitz阅读 3,950评论 0 1
  • 数据结构 数据结构是计算机存储、组织、管理数据的方式 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 ...
    JunChow520阅读 9,038评论 0 4
  • 一、常用集合类型及概念 1.基本关系 许多泛型集合类型均为非泛型类型的直接模拟。 Dictionary< TKey...
    aslbutton阅读 5,227评论 0 49