C# Dictionary的使用

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

  1. 创建和初始化一个 Dictionary

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

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

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

  1. 添加和删除键值对

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

cs 复制代码
// 添加键值对 
dict.Add("pear", 4); 

// 删除键值对 
dict.Remove("banana");
  1. 访问和修改元素

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

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

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

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

你可以使用 foreach 循环遍历 Dictionary

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

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

  1. 其他方法

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

cs 复制代码
// 获取键的集合 
ICollection<string> keys = dict.Keys; 

// 获取值的集合 
ICollection<int> values = dict.Values; 

// 获取元素数量 
int count = dict.Count; 

// 清空 
Dictionary dict.Clear();

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

相关推荐
leoZ2314 分钟前
第 8 篇:与 AI 协作的工作流 + 完整案例
前端·人工智能·神经网络·自然语言处理·性能优化·c#·php
fujisheng6612 小时前
Unity 异步 UI 实战:取消令牌、版本校验与旧句柄隔离
c#·unity3d
额鹅恶饿呃3 小时前
随着CentOS官方停服的时间越来越久,大量仍在使用CentOS7的企业和运维从业者
java·python·算法·c#·ruby
乌药ice3 小时前
c#中一个多线程安全的HashSet
开发语言·c#
lfSeanDragon3 小时前
数据结构-前缀树(Trie)
开发语言·c#
张人玉4 小时前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net
mldong12 小时前
C# 开发者也有自己的轻量工作流引擎了:NuGet 装包,5 分钟跑通一条审批流
后端·c#·.net
samble15 小时前
从零搭建工业控制系统(二十二):线程安全与并发控制
c#·wpf·并发·mvvm·线程安全·工业控制
UIU11417 小时前
scanf与cout的误区:探究其内部的机制
c++·学习·c#·scanf
风云18 小时前
MiniLog 1.0 GA 发布:零分配、零依赖的 .NET 高性能日志框架
开源·c#·.net·日志·高性能·minilog