行远-自迩

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

C# 字典

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

posted on   行远-自迩  阅读(13778)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示