C# 字典(Dictionary)基本操作

news/2024/6/17 14:05:38 标签: c#, 算法

一、定义一个字典

// 定义一个存储字符串键和整数值的字典
Dictionary<string, int> numbers = new Dictionary<string, int>();

 二、添加元素

// 添加键值对
numbers.Add("One", 1);
numbers.Add("Two", 2);

三、通过键查找值

// 获取键为"One"的值
int value;
if (numbers.TryGetValue("One", out value))
{
    Console.WriteLine($"The value for 'One' is {value}");
}

四、检查键是否存在

// 获取键为"One"的值
int value;
if (numbers.TryGetValue("One", out value))
{
    Console.WriteLine($"The value for 'One' is {value}");
}

五、获取值

// 直接通过键获取值(如果键不存在则抛出异常)
int oneValue = numbers["One"];

六、修改或更新值

// 如果键已存在,则更新其对应的值
if (numbers.ContainsKey("One"))
{
    numbers["One"] = 10; // 更新 "One" 的值为 10
}

七、删除元素

// 删除指定键的元素
if (numbers.ContainsKey("One"))
{
    numbers.Remove("One");
}

八、遍历字典

// 遍历所有键值对
foreach (var pair in numbers)
{
    Console.WriteLine($"Key: {pair.Key}, Value: {pair.Value}");
}

九、C# 8.0 及以上版本还引入了 foreach 循环简写语法

foreach (var (key, value) in numbers)
{
    Console.WriteLine($"Key: {key}, Value: {value}");
}

注意:在字典中,键是唯一的,不能有重复的键;而值可以重复。同时,字典内部通常采用哈希表实现,因此查找、添加和删除操作的时间复杂度通常是O(1)。

//感谢大家的点赞,收藏,转发,关注  


http://www.niftyadmin.cn/n/5383003.html

相关文章

面向对象编程(三)

目录 1. 关键字&#xff1a;static 1.1 类属性、类方法的设计思想 1.2 static关键字 1.3 静态变量 1.3.1 语法格式 1.3.2 静态变量的特点 1.3.3 举例 1.3.4 内存解析 1.4 静态方法 1.4.1 语法格式 1.4.2 静态方法的特点 1.4.3 举例 2. 单例(Singleton)设计模式 2…

反编译调试C#编写的exe软件和dll方法详解

1.首先需要下载软件dnSpy.exe&#xff0c;下载地址&#xff1a;https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8 2.使用方法&#xff1a; 首先打开项目&#xff0c;我们这里可以选择dll&#xff0c;也可以选择exe 这边我们是打开了一个WPF写的客户端软件。 2.打开后我…

使用maven集成spring在测试的时候报出了如下的异常:version 60

使用maven集成spring在测试的时候报出了如下的异常&#xff1a; Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 60 解决&#xff1a;

蓝牙BLE安全-SSP简单安全配对

SSP的配对过程由于可以根据设备的IO能力选择不同的关联模型&#xff0c;因此十分灵活&#xff0c;其提供了四种方式&#xff1a;Numeric Comparison、Passkey Entry、Just Works以及Out of Band (OOB) 。这里关联方式的选择实质上对后面的流程是有一定影响的&#xff0c;如Just…

Idea启动Gradle报错: Please, re-import the Gradle project and try again

Idea启动Gradle报错&#xff1a;Warning:Unable to make the module: reading, related gradle configuration was not found. Please, re-import the Gradle project and try again. 解决办法&#xff1a; 开启步骤&#xff1a;View -> Tool Windows -> Gradle 点击refe…

Python Flask Web + PyQt 前后端分离的项目—学习成绩可视化分析系统

简介 使用工具&#xff1a; Python&#xff0c;PyQt &#xff0c;Flask &#xff0c;MySQL 注&#xff1a;制作重点在网页端&#xff0c;因此网页端的功能更全 WEB界面展示: 系统登录分为管理员&#xff0c;老师&#xff0c;学生3部分 管理员统一管理所有的账号信息以及登录…

MySQL学习记录——십삼 视图及用户、权限管理

文章目录 1、视图2、用户管理3、权限管理 1、视图 视图把查询出来的结果以表结构的形式存储起来&#xff0c;视图和基表有关系&#xff0c;两者的数据变化都会互相影响。 在查询时&#xff0c;假如要经常查询一条记录&#xff0c;select …&#xff0c;那么为了方便&#xff…

沁恒CH32V30X学习笔记08---基本定时器超时功能

TIM 基本定时器 高级定时器模块包含一个功能强大的 16 位自动重装定时器(TIM1、TIM8、TIM9 和 TIM10) 通用定时器模块包含一个 16 位可自动重装的定时器(TIM2、TIM3、TIM4 和 TIM5) 基本定时器模块包含一个 16 位可自动重装的定时器(TIM6 和 TIM7) 定时器的结构大致可…