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

C# Dictionary的使用

在 C# 中,Dictionary 是一种常用的数据结构,用于存储键值对。以下是一些常见的 Dictionary 操作:

  1. 创建和初始化一个 Dictionary

可以使用以下代码创建并初始化一个 Dictionary

Dictionary<string, int> dict = new Dictionary<string, int>() 
{ 
{"apple", 1}, 
{"banana", 2},
{"orange", 3} 
};

这个 Dictionary 包含三个键值对,分别是 "apple" 对应的值为 1,"banana" 对应的值为 2,"orange" 对应的值为 3。

  1. 添加和删除键值对

你可以使用以下方法来添加或删除键值对:

// 添加键值对 
dict.Add("pear", 4); // 删除键值对 
dict.Remove("banana");

  1. 访问和修改元素

通过指定键名,你可以访问和修改 Dictionary 中的元素:

/ 访问元素 int value = dict["apple"]; // 修改元素 dict["orange"] = 5; 

需要注意的是,如果指定的键名不存在于 Dictionary 中,访问该键将会抛出异常。因此,在程序中应该先使用 .ContainsKey() 方法检查是否存在该键名:

if (dict.ContainsKey("apple")) { int value = dict["apple"]; // 访问元素 } 
  1. 遍历 Dictionary

你可以使用 foreach 循环遍历 Dictionary

foreach (KeyValuePair<string, int> kvp in dict) 
{ 
Console.WriteLine("Key = {0},Value = {1}", 
kvp.Key, 
kvp.Value); 
}

以上代码将会输出这个 Dictionary 中所有键值对的键名和对应的值。

  1. 其他方法

除了上述方法之外,Dictionary 还提供了一些其他常用的方法:

// 获取键的集合 
ICollection<string> keys = dict.Keys; // 获取值的集合 
ICollection<int> values = dict.Values; // 获取元素数量 
int count = dict.Count; // 清空 
Dictionary dict.Clear();

需要注意的是,在多线程环境下使用 Dictionary 时,需要采取额外的同步措施,以避免出现竞争条件。

http://www.lryc.cn/news/242866.html

相关文章:

  • 解决DaemonSet没法调度到master节点的问题
  • 2023.11.20 关于 Spring MVC 详解
  • 救命~终于找到一款好看又舒适的家居服了
  • C#每天复习一个重要小知识day5:枚举与switch是天生一对
  • idea修改行号颜色
  • U-boot(四):start_armboot
  • .Net面试题4
  • python 列表插入数据的 四种方法 append insert extend 切片赋值
  • C++中std::string的=,+,+=使用过程中的问题
  • ruoyi-plus使用Statistic统计组件升级element-plus
  • Python基础入门例程72-NP72 生成字典(字典)
  • flink的java.lang.IllegalStateException: Buffer pool is destroyed 异常
  • 物联网AI MicroPython学习之语法 实时时钟RTC
  • GEE:kNN(k-最近邻)分类教程(样本制作、特征添加、训练、精度、最优参数、统计面积)
  • 【GitHub】保姆级使用教程
  • 【图表,饼图】【消费者选择餐厅关注因素】
  • Kotlin基础——Lambda和函数式编程
  • mysql忘记密码,然后重置
  • linux centos系统命令安装
  • 基于springboot实现高校食堂移动预约点餐系统【项目源码】计算机毕业设计
  • 栈和队列OJ题目——C语言
  • System-V共享内存和基于管道通信实现的进程池
  • Python武器库开发-前端篇之CSS基本语法(三十)
  • 微信小程序实现类似Vue中的computed、watch功能
  • [JVM] 美团二面,说一下JVM数据区域
  • 【React】useReducer
  • leetcode刷题详解二
  • 利用opencv/暗通道方法检测图像是否有雾-利用opencv/暗通道方法对深度学习目标检测算法结果进行二次识别提高准确率
  • Linux | 重定向 | 文件概念 | 查看文件 | 查看时间 | 查找文件 | zip
  • 【广州华锐互动】利用VR体验环保低碳生活能带来哪些教育意义?