首页 > 编程语言 >c# Dictionary<TKey,TValue>.TryAdd

c# Dictionary<TKey,TValue>.TryAdd

时间:2024-05-08 16:56:33浏览次数:32  
标签:Console TryAdd Dictionary c# 添加 键值 WriteLine

原文链接:https://learn.microsoft.com/zh-cn/dotnet/fundamentals/code-analysis/quality-rules/ca1864

Dictionary<TKey,TValue>.ContainsKey(TKey) 和 Dictionary<TKey,TValue>.Add 都执行查找操作,这是冗余设置。

如果字典中已存在键,Dictionary<TKey,TValue>.Add 也会引发异常。 调用 Dictionary<TKey,TValue>.TryAdd 更高效,这会返回一个布尔值,指示是否已添加该值。 如果键已存在,则 TryAdd 不会覆盖该键的值。

TryAdd方法是Dictionary类的一个方法,它是IDictionary接口的一个实现。

TryAdd方法尝试将键值对添加到字典中。如果字典中已经存在指定的键,则该键值对不会被添加,并且此方法返回false。如果字典中不存在该键,则添加该键值对,并返回true。

以下是使用TryAdd方法的示例代码:

Dictionary<string, int> dictionary = new Dictionary<string, int>();
 
// 尝试添加一个新的键值对
if (dictionary.TryAdd("key1", 10))
{
    Console.WriteLine("添加成功");
}
else
{
    Console.WriteLine("添加失败,键已存在");
}
 
// 再次尝试添加相同的键
if (dictionary.TryAdd("key1", 20))
{
    Console.WriteLine("添加成功");
}
else
{
    Console.WriteLine("添加失败,键已存在");
}
 
// 尝试添加另一个新的键值对
if (dictionary.TryAdd("key2", 30))
{
    Console.WriteLine("添加成功");
}
else
{
    Console.WriteLine("添加失败,键已存在");
}

  

标签:Console,TryAdd,Dictionary,c#,添加,键值,WriteLine
From: https://www.cnblogs.com/Dongmy/p/18178820

相关文章

  • 【container】【docker-compose】【mysql】【redis】【rabbit mq】【mongo】【elastic
    @目录写在前面mysqlredisrabbitmqmongoelasticsearch单节点多节点参考资料dockerkuberneteshelmk3s写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。mysqlversion:'3'services:......
  • 微服务Spring Cloud17_熔断器Hystrix7
    一、简介Hystrix在英文里面的意思是豪猪,它的logo看下面的图是一头豪猪,它在微服务系统中是一款提供保护机制的组件,和eureka一样也是由netflix公司开发。主页:https://github.com/Netflix/Hystrix/ 那么Hystrix的作用是什么呢?具体要保护什么呢?Hystrix是Netflix开源的一......
  • Apache DolphinScheduler 3.3.0 版本重磅更新提前看!
    ApacheDolphinScheduler3.3.0版本终于要在万众期待中发布啦!本次发版将有重大功能更新,包括架构上的调整。为了让广大用户提前尝鲜,社区特别准备了直播活动提前揭秘3.3.0版本中的重要更新,到时候你将会了解到这些信息:3.3.0版本的工作流引擎改进任务执行流程的优化架构模块上的......
  • failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar:
    系统:麒麟V10处理器:飞腾2000,aarch64原因:安装算能,TPU-mlir环境产生 官方教程地址:2.开发环境配置—TPU-MLIR0.7文档(sophgo.com)从DockerHub https://hub.docker.com/r/sophgo/tpuc_dev 下载所需的镜像:dockerpullsophgo/tpuc_dev:latest 产生错误 sia......
  • electron 菜单选项 - 隐藏,设置菜单
    隐藏菜单const{app,Menu,session}=require('electron');/*隐藏electron的菜单栏*/Menu.setApplicationMenu(null);设置菜单const{app,Menu,session}=require('electron'); //创建menufunctioncreateMenu(){letmenuStructure=[......
  • 解决国产系统 Docker 拉取大镜像卡顿之谜
    今天解决了客户arm64机器上dockerpull大镜像卡住的问题。由来同事让我帮忙解决客户现场Docker镜像无法拉取的问题,故障如下会一直卡住: $ docker pull xxx:5000/xxxx xxx: Pulling from xxx/xxxxxx 7c0b344a74c2: Extracting [>     ......
  • 79. 单词搜索-c++
    给定一个mxn二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例1:输入......
  • 公钥加密 openssl_public_encrypt(): key parameter is not a valid public key
    公钥加密处理报错, openssl_public_encrypt():keyparameterisnotavalidpublickey1.开启open_ssl扩展2.转化再加密下载的公钥形式类似'-----BEGINPUBLICKEY-----\nMIGTDVGHWDFNADCBiQKBgQ99XZ6WiHxh94IAKTgSOEev\n6tASj3XKVnssChGIZaSvdRXiJshGaR1LNeDbWSDFWE8OjA......
  • Docker 部署 Redis
    获取镜像#拉取镜像此处我们拉取的是官方最新镜像,其它版本可以去DockerHub查询[root@VM-24-9-centos~]#dockerpullredis:7.2创建挂载目录并复制相关文件##创建挂载目录[root@VM-0-17-centos~]#mkdir-pdata/redis/{conf,data}##切换到conf目录并下载配置文件和......
  • YC282B [ 20240430 CQYC省选模拟赛 T2 ] 温柔(gentle)
    题意有\(n\)个魔法少女,每个魔法少女的法力为\(a_i\),她们要打败\(n\)个法力为\(b_i\)的怪兽!你需要构造\({c_n}\),使得对于给定的\(m\)组限制,满足:\(c_x\geb_x\landc_y\geb_y\)或\(c_y\geb_x\landc_x\geb_y\)。你需要\(\sum_{i=1}^n|c_i-a_i|\),并......