当前位置: 首页 > 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 时,需要采取额外的同步措施,以避免出现竞争条件。

相关文章:

C# Dictionary的使用

在 C# 中&#xff0c;Dictionary 是一种常用的数据结构&#xff0c;用于存储键值对。以下是一些常见的 Dictionary 操作&#xff1a; 创建和初始化一个 Dictionary 可以使用以下代码创建并初始化一个 Dictionary&#xff1a; Dictionary<string, int> dict new Dicti…...

解决DaemonSet没法调度到master节点的问题

最近在kubernetes部署一个springcloud微服务项目&#xff0c;到了最后一步部署边缘路由&#xff1a;使用nginx-ingress和traefik都可以&#xff0c;必须使用DaemonSet部署&#xff0c;但是发现三个节点&#xff0c;却总共只有两个pod。 换句话说&#xff0c; DaemonSet没法调度…...

2023.11.20 关于 Spring MVC 详解

目录 MVC 工作流程 Spring MVC 掌握三个功能 创建 Spring MVC 项目 推荐安装插件 EditStarters 基础注解 RequestMapping 指定 GET 和 POST 方法类型 ResponseBody 获取参数 传递 单个 或 多个参数 参数重命名 RequestParam 接收 JSON 对象 RequestBody 获取 …...

救命~终于找到一款好看又舒适的家居服了

暖乎乎的软糯家居服 简直不要太好看太舒服了 双层舒棉绒舒适又暖和 防风收口设计&#xff0c;时尚与实用性兼具 经典版型不挑人穿 居家外出都可哦&#xff01;&#xff01;...

C#每天复习一个重要小知识day5:枚举与switch是天生一对

因为枚举一般用来表示条件和类型等等&#xff0c;所以它一般用条件分支来表现。所以枚举与switch是天生一对&#xff0c;因为很方便。&#xff08;用if语句也可&#xff0c;但是没switch方便&#xff09; 简单的举例&#xff1a; namespace 精细练习 {enum E_Player {Main,Ot…...

idea修改行号颜色

前言 i当idea用了深色主题后&#xff0c;发现行号根本看不清&#xff0c;或者很模糊 例如下面这样 修改行号颜色 在IntelliJ IDEA中&#xff0c;你可以根据自己的喜好和需求定制行号的颜色。下面是修改行号颜色的步骤&#xff1a; 打开 IntelliJ IDEA。 转到 “File”&…...

U-boot(四):start_armboot

本文主要探讨210的uboot启动的第二阶段&#xff0c;主要函数为start_armboot。 uboot 一阶段初始化SoC内部部件(看门狗、时钟等),初始化DDR,重定位 二阶段初始化其余硬件(iNand、网卡芯片)以及命令、环境变量等 启动打印硬件信息,进入bootdelay,读秒完后执行bootc…...

.Net面试题4

1.请解释一下泛型&#xff08;Generics&#xff09;在C#中的作用。 泛型是一种将数据类型参数化的机制&#xff0c;使得代码可以在编译时具有更强的类型安全性和灵活性。C#中的泛型可以用于类、接口、方法等的定义和实例化。泛型允许在编写代码时使用具有不同实参的类型&#x…...

python 列表插入数据的 四种方法 append insert extend 切片赋值

append insert 插入单个数据 append 加到末尾&#xff0c;insert 加到指定位置 extend、切片方式插入多个数据 extend 加到末尾&#xff0c;切片加到指定位置 my_list [1, 2, 3] my_list.append(4) print(my_list) # 输出: [1, 2, 3, 4]my_list [1, 2, 3] my_list.insert(…...

C++中std::string的=,+,+=使用过程中的问题

1. 调用构造函数时的运算符不支持int&#xff0c;char类型的操作数 string str1 a; //error 这是一个构造函数。C中string是一个类&#xff0c;内部封装了char *来管理这个字符串。 string的构造函数&#xff1a; string() // 创建一个空的字符串string(const char * s)…...

ruoyi-plus使用Statistic统计组件升级element-plus

原本使用的就是gitee上lionli的ruoyi-plus版本的代码。但是在使用过程中作首页数据看板时想使用elementui的Statistic统计组件。结果在浏览器控制台报错找不到组件el-statistic 于是查看elementui的历史版本&#xff0c;发现是在新版中才有这个组件&#xff0c;旧版本是没这个组…...

Python基础入门例程72-NP72 生成字典(字典)

最近的博文: Python基础入门例程71-NP71 喜欢的颜色(字典)-CSDN博客 Python基础入门例程70-NP70 首都(字典)-CSDN博客 Python基础入门例程69-NP69 姓名与学号(字典)-CSDN博客 目录 最近的博文: 描述...

flink的java.lang.IllegalStateException: Buffer pool is destroyed 异常

背景 最近flink的在线应用出现错误java.lang.IllegalStateException: Buffer pool is destroyed&#xff0c;本文记录下这个错误的原因 错误原因 详细的日志堆栈如下: Caused by: java.lang.IllegalStateException: Buffer pool is destroyed. at org.apache.flink.runtime…...

物联网AI MicroPython学习之语法 实时时钟RTC

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; RTC 介绍 模块功能: 实时时钟RTC驱动模块 接口说明 RTC - 构建RTC对象 函数原型&#xff1a;RTC()参数说明&#xff1a; 无 返回值&#xff1a; 构建的RTC对象。 datetime - RTC时钟操作 函数原型&a…...

GEE:kNN(k-最近邻)分类教程(样本制作、特征添加、训练、精度、最优参数、统计面积)

作者:CSDN @ _养乐多_ 本文将介绍在Google Earth Engine (GEE)平台上进行kNN(k-最近邻)分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量(各种指数、纹理特征、时间序列特征、物候特征等),运行kNN(k-最近…...

【GitHub】保姆级使用教程

一、如何流畅访问GitHub 1、网易uu加速器 输入网址&#xff0c;无脑下载网易加速器&#xff1b;https://uu.163.com/ 下载安装完毕后&#xff0c;创建账号进行登录 登录后&#xff0c;在右上角搜索框中搜索“学术资源”&#xff0c;并点击&#xff1b; 稍等一会儿就会跳…...

【图表,饼图】【消费者选择餐厅关注因素】

...

Kotlin基础——Lambda和函数式编程

Lambda 使用 { } 定义Lamba&#xff0c;调用run运行 run { println(1) }更常用的为 { 参数 -> 操作 }&#xff0c;还可以存储到变量中&#xff0c;把变量作为普通函数对待 val sum { x: Int, y: Int -> x y } println(sum(1, 2))maxBy()接收一个Lambda&#xff0c;传…...

mysql忘记密码,然后重置

数据库版本8.0.26 只针对以下情况 mysql忘记了密码&#xff0c;但是你navicat之前连接上了 解决方法&#xff1a; 第一步&#xff0c;选中mysql这个数据库&#xff0c;点击新建查询 第二步&#xff1a;重置密码 alter user rootlocalhost IDENTIFIED BY 你的密码; 然后就可…...

linux centos系统命令安装

Zip unzip 命令安装下载 centos 命令常用常用下载 https://rpmfind.net/linux/rpm2html/search.php?queryzip%28x86-64%29&submitSearch…&system&arch 在线安装zip命令 Centos用yum安装的话用下面的命令安装 yum install -y unzip zipUbuntu的的系统可以用下…...

c++怎么获取文件在磁盘上的真实占用空间_stat结构体分析【详解】

_stat 无法直接获取文件真实磁盘占用&#xff0c;必须结合 GetDiskFreeSpace 获取簇大小后向上取整计算&#xff1b;Windows 下 st_blocks 未实现&#xff0c;st_blksize 恒为512且无效&#xff0c;UNC路径和特殊文件&#xff08;稀疏、压缩、符号链接&#xff09;需额外处理。…...

如何将HuggingFace模型提速5倍?CTranslate2与Transformers集成的终极指南

如何将HuggingFace模型提速5倍&#xff1f;CTranslate2与Transformers集成的终极指南 【免费下载链接】CTranslate2 Fast inference engine for Transformer models 项目地址: https://gitcode.com/gh_mirrors/ct/CTranslate2 CTranslate2是一个针对Transformer模型的快…...

算法题(滑动窗口、动态规划)

一、题目1.无重复字符的最长子串&#xff08;LC 3&#xff09;2.找到字符串中所有字母异位词&#xff08;LC 438&#xff09;3.爬楼梯&#xff08;LC 70&#xff09;4.杨辉三角&#xff08;LC 118&#xff09;5.打家劫舍&#xff08;LC 198&#xff09;二、滑动窗口1.无重复字符…...

SQL左连接查询结果为NULL怎么办_使用ISNULL函数替换空值技巧

LEFT JOIN 后字段为 NULL 是因右表无匹配行或连接条件不满足&#xff1b;ISNULL 为 SQL Server 特有、仅两参数且类型继承易截断&#xff0c;COALESCE 为标准函数、多参数且类型推导严谨&#xff1b;WHERE 中误写右表条件会使 LEFT JOIN 退化为 INNER JOIN&#xff1b;NULL 参与…...

JASP:零成本实现专业级统计分析的完全免费开源工具

JASP&#xff1a;零成本实现专业级统计分析的完全免费开源工具 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址: http…...

告别电脑!用iOS快捷指令给你的手机浏览器装个“开发者模式”

用iOS快捷指令打造移动端网页调试神器&#xff1a;零代码实现元素修改与数据抓取 在咖啡馆等方案时突然发现网页文案有误&#xff1f;通勤路上需要紧急抓取竞品价格数据&#xff1f;传统移动端浏览器缺乏开发者工具总让人束手无策。其实你的iPhone里藏着一位"隐形开发者&q…...

工业现场设备的监控系统(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;T1532310M设计简介&#xff1a;本设计是工业现场设备的监控系统&#xff0c;主要实现以下功能&#xff1a;通过温湿度传感器检测温湿度&#xff0c;湿度过高…...

微信读书笔记如何优雅地融入Obsidian知识库?

微信读书笔记如何优雅地融入Obsidian知识库&#xff1f; 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsi…...

3步构建高效知识管理系统:Obsidian Weread插件实战指南

3步构建高效知识管理系统&#xff1a;Obsidian Weread插件实战指南 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirro…...

DayZ社区离线模组:如何打造完全掌控的单机生存体验?

DayZ社区离线模组&#xff1a;如何打造完全掌控的单机生存体验&#xff1f; 【免费下载链接】DayZCommunityOfflineMode A community made offline mod for DayZ Standalone 项目地址: https://gitcode.com/gh_mirrors/da/DayZCommunityOfflineMode 厌倦了网络延迟、服务…...