C# 浅谈线程安全的字典集合ConcurrentDictionary
创始人
2025-01-15 07:04:38
0

ConcurrentDictionary 是 C# 中的一个线程安全的字典集合 TryAdd(TKey key, TValue value): 尝试添加一个键值对到字典中,如果键已存在,则不执行任何操作并返回 false;如果添加成功,则返回 true。 TryGetValue(TKey key, out TValue value): 尝试获取与给定键相关联的值,如果键存在于字典中,则将该值赋给 value 参数并返回 true;如果键不存在,则 value 参数保持不变并返回 false。 TryRemove(TKey key, out TValue value): 尝试从字典中移除具有指定键的键值对,如果移除成功,则将移除的值赋给 value 参数并返回 true;如果键不存在,则 value 参数保持不变并返回 false。

ConcurrentDictionary dict = new ConcurrentDictionary(); 

// 启动多个任务来向字典中添加数据 Parallel.For(1, 1000, i => {     dict.TryAdd(i, $"Value {i}"); });
// 尝试获取并输出字典中的值 if (dict.TryGetValue(500, out string value)) {     Console.WriteLine($"Value for key 500: {value}"); } else {     Console.WriteLine("Key 500 does not exist in the dictionary."); }
// 尝试移除并输出字典中的值 if (dict.TryRemove(500, out value)) {     Console.WriteLine($"Removed value for key 500: {value}"); } else {     Console.WriteLine("Key 500 does not exist in the dictionary."); }

 

 

 

 

相关内容

热门资讯

XML Schema 杂项数据... XML Schema 杂项数据类型XML Schema 提供了多种数据类型,用于定义 XML 文档中...
Html5前端基本知识整理与回... 今天我们继续结合发布的Html5基础知识点文档进行复习,希望对大家有所帮助。目录列表无...
数据结构练习 1.快速排序的非递归是通过栈来实现的,则前序与层次可以通过控制入栈的顺序来实现...
AJAX学习笔记上(学习自用) AJAX原生AJAX1.1AJAX简介AJAX全程为Asynchronous JavaScript ...
React 开发报错整理 1、'yield' expression implicitly results in an 'any...
LLaMA 模型 大模型LLaMA详解LLaMa系列模型详解(原理介绍、代码解读)...
LlamaFactory可视化... LlamaFactory 前言LLaMA Factory 是一个用于微调大型语言模型的强大工具,特别...
Ajax从零到实战   💝💝💝欢迎来到我的博客,很高兴能够...
基于泰坦尼克号生还数据进行 S... 基于泰坦尼克号生还数据进行 Spark 分析在这篇博客中,我们将展示如何使用 Apac...
在亚马逊云科技AWS上利用Sa... 项目简介:接下来,小李哥将会每天介绍一个基于亚马逊云科技AWS云计算平台...