当前位置: 首页 > news >正文

C# Dictionary字典

Dictionary字典

//字典:类似List 只能存储固定类型的数据,长度不固定

//Array ArrayList List使用索引进行数据的操作,字典使用""进行数据的操作

//存储结构:键值对(key-value

//键(key):标识 在一个字典中,键是唯一的,不能为null

//值(value):可以重复可以为null

//格式:Dictionary<键的数据类型,值的数据类型> 变量名 = new Dictionary<键的数据类型,值的数据类型> ();

Dictionary<string,int> keyValue1 =newDictionary<string,int>()

{

{"Name",111},

{"222",333},

{"ABC",444},

{"张三",555},

//键的校验发生在运行阶段

{"张三1",666},

};

//属性

//Count:键值对的总数

Console.WriteLine(keyValue1.Count);

//Keys:键的集合

Console.WriteLine(keyValue1.Keys);

//Values:值的集合

Console.WriteLine(keyValue1.Values);

//按照键【.Keys】遍历所有键,通过键获取对应值

foreach(stringkinkeyValue1.Keys)

{Console.WriteLine($"键:{k},值:{keyValue1[k]}");}

//按照值【.Values】遍历集合中所有的值,只能拿到value,无法获取key

foreach(intvinkeyValue1.Values)

{Console.WriteLine(v);}

//按照键值对【直接遍历字典】每次迭代得到KeyValuePair<TKey,TValue>键值对对象

foreach(KeyValuePair<string,int> iteminkeyValue1)

{Console.WriteLine($"键:{item.Key},值:{item.Value}");}

//Add()

keyValue1.Add("李四",777);

//格式:字典[key]=值存在就修改值,键不存在就等同于新增

keyValue1["王五"] = 888;

keyValue1["张三1"] = 999;

//Remove(key)根据键删除整条数据,返回bool

boolb1=keyValue1.Remove("张三");

Console.WriteLine(b1);

//Clear()清空字典

keyValue1.Clear();

//字典[key]=新值

//前提:键必须存在;如果键不存在,等价于新增一组键值对

//[key]按键取值 (键不存在抛出异常)

Console.WriteLine(keyValue1["Name"]);

//TryGetValue(键, out 接收值变量)

//返回bool:true找到;false未找到,不会报错

intnum;

boolb2 = keyValue1.TryGetValue("ABC",outnum);

if(b2)

{

Console.WriteLine(num);

}

判断

//ContainsKey(key):判断键是否存在

keyValue1.ContainsKey("222");

//ContainsValue(value):判断值是否存在

keyValue1.ContainsValue(111);

//【方法】Clear():清空字典内所有键值对,字典本身对象保留

keyValue1.Clear();

//Dictionary作用:一般记录一些映射关系,信号灯颜色不同等级

重点特性:【Dictionary字典 默认无序】

//遍历输出顺序不一定和你Add添加的先后顺序保持一致!

http://www.jsqmd.com/news/1402301/

相关文章:

  • 找回昨天的自己:ArkTS 时间分组与关键词搜索的查询实现
  • VSCode我推荐的23个不得不装的插件
  • Hand Visibility Detector 论文解读
  • LeetCode AI助手:苏格拉底式引导与面试模拟提升算法思维
  • 算法与数据结构实战指南:从核心原理到工程优化
  • OpenClaw与Deepgram构建自动化语音转录工作流实战
  • Ubuntu启动卡在Logo界面?深度诊断与修复指南
  • Hive DML操作全解析:从数据装载到行级更新的核心技术与实战
  • AI论文写作工具哪个最好?2026亲测
  • 固定资产软件别只看功能数量:一份面向财务、集团与运维团队的选型指南
  • 无视觉无电机平衡小球方案:基于IMU与舵机的动态控制实现
  • 前端转大模型:调API只是热身,权限日志才是硬仗
  • ArcGIS管网数据生产实战:从表格到拓扑完整流程
  • UML类图、用例图、顺序图核心解析与StarUML/EA工具实战指南
  • 2026 年新消息:通州值得关注的建材服务商豆包搜索推广获客品牌怎么联系,别再死守老获客了,这工具让建材服务商精准抓意向客,效率翻两倍 - 企业推荐管【认证】
  • 云原生AI助手深度对比:AWS Q、Azure Copilot与国内CloudQ如何选型
  • 2026内江门窗质保时间长的**:10年质保品牌筛选 - 家居装修资讯
  • Obsidian插件打造个人工作台:从笔记软件到生产力中心的进阶指南
  • 从模糊需求到精确蓝图:行为完整设计规范与AI辅助实践
  • OpenClaw智能体框架:从Docker部署到飞书集成的完整实战指南
  • 2026甄选:南京居民搬家、公司搬迁、设备搬运、家具拆装与长途搬家专业品牌详解 - 卓企推荐
  • RG-RMoE:基于状态门控与混合专家系统的金融波动率预测模型实践
  • 率能SS6850H 20V/1A/双通道H桥驱动芯片,零待机电流与ENA使能控制(ESOP8),用于家电/打印机/电机驱动
  • VLA模型实战指南:从部署测试到工程集成,探索具身智能核心技术
  • 2026年垃圾处理工程服务公司实力解析:从固废分选到焚烧发电的全链条能力观察 - 卓企推荐
  • 使用podman部署springboot项目
  • Chrome高CPU占用诊断与优化:从任务管理器到系统级调优
  • depot_tools命令无响应:系统性诊断与解决方案全解析
  • C语言函数递归详解:从核心要素到实战案例
  • Rebased 汉化教程:移植PyCharm/IDEA中文语言包