Dictionary 添加重复的键值对

news/2025/1/5 16:48:47/文章来源:https://www.cnblogs.com/ralphlauren/p/18621195

Dictionary 添加重复的键值对| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission |

| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------| -------------|
| 14360072| Dictionary 添加重复的键值对| 2021-02-02T01:45:00| | BlogPost|

上代码

复制代码
 #region 测试Dictionary<TKey,TValue>如何添加键重复的内容
    public class MyDictionaryComparer : IEqualityComparer&lt;string&gt;{public bool Equals(string x, string y){return x!=y;}public int GetHashCode(string obj){//throw new NotImplementedException();return obj.GetHashCode();}}public static void csDictionary(){Dictionary&lt;string, string&gt; dict = new Dictionary&lt;string, string&gt;(new MyDictionaryComparer());List&lt;string&gt; ts = new List&lt;string&gt;();// 输出内容到控制台Console.WriteLine("请输入第一个字符串:");while (true){string str = Console.ReadLine();if (string.IsNullOrEmpty(str)){continue;}ts.Add(str);var strarr = str.Split(',');dict.Add(strarr[0], strarr[1]);Console.WriteLine("Dictionary");foreach (var item in dict){Console.WriteLine("键:"+item.Key + ";值:" + item.Value);}Console.WriteLine("List");foreach (var item in ts){Console.WriteLine("值:" + item);}}}#endregion</pre>
复制代码

效果图:

 

 正常情况下向Dictionary添加相同的键会报错,但是实现IEqualityComparer<TKey>接口 以后就不会报错了;

源码出处:https://www.cnblogs.com/rampb/archive/2004/01/13/9668777.html

| 648658| | 2021-02-02T01:45:00| false| | 2021-02-02T01:44:29.36| true| 上代码 #region 测试Dictionary<TKey,TValue>如何添加键重复的内容 public class MyDictionaryComparer : IEqualityComparer<string> { public bool Equals(string x, string y)| Anonymous|

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861900.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript JS CryptoJS DES加解密CBC模式与C#DES加解密相同互通

javascript JS CryptoJS DES加解密CBC模式与C#DES加解密相同互通| Id | Title | DateAdded | SourceUrl | PostType | Body | BlogId | Description | DateUpdated | IsMarkdown | EntryName | CreatedTime | IsActive | AutoDesc | AccessPermission | | -------------| -----…

ThreeJs-11精通着色器编程(重难点)

着色器语言编程比较重要,后面的几个章节都会围绕这个来做特效 一.初识着色器语言 首先什么叫做着色器,他是一种语言,首先需要设置为着色器材质,然后在材质里面书写一些语言,可以告诉他顶点,然后去自定义一些东西,比如我想要这一面为红色等等比如用一个基础材质做了一个平…

2024.12.30 由于不会制表痛失一份工作,学习excel制表

单元格格式可以用来切换其中内容的格式,小技巧,数值右对齐,文字左对齐 单元格内换行输出使用Alt + Enter 在>数据->分列中可以将某个单元格中的数据分成不同的列 1.随机函数 rand()返回一个0-1之间的数字,且图表每次更新都会进行随机 randbetween(low,high)返回一…

关于 IntelliJ IDEA 2024 安装激活使用教程以及常见问题(激活至2026,实际上永久,亲测!)

申明:本教程 IntelliJ IDEA补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 !卸载老版本 IDEA 首先,如果小伙伴的电脑上有安装老版本的 IDEA , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即…

Docker入门之docker-compose

一,Docker-compose简介 1,Docker-compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件…

『AotuHotKey』——一个小巧却高效的实用效率工具

[!note] 本来主要是想找一下「」和『』,然后这个方法直接可以找到大部分的特殊字符通过输入法输出『Ctr + shift + Z』进入搜狗输入法的『符号大全』在『标点符号』项可以找到「」和『』使用AutoHotKey自定义替换[!note] 每次想要用到这两个符号的时候都要进入输入法的『符号大…

让项目数据一目了然的10款项目管理软件推荐

在当今快节奏的商业环境中,项目管理已经成为企业成功的关键因素之一。无论是小型团队还是大型企业,高效的项目管理工具都能帮助团队更好地规划、执行和监控项目进度。然而,面对市场上琳琅满目的项目管理软件,如何选择一款适合自己团队的工具,往往让人感到困惑。本文将为您…

锁整理--有缺失

// 概述 // 分类// ------------------------------------------------------------------------------------------- // 全局锁 // 对整个数据库加锁,整个实例变为只读状态,后续的dml语句,ddl语句,已经更新操作的事务提交语句都会阻塞 // 应用场景主要是做全库的逻辑备份,…

项目管理证书与敏捷方法论的结合应用

项目管理证书与敏捷方法论的结合应用是当前项目管理领域中一个备受关注的话题。随着项目复杂性和不确定性的增加,传统的项目管理方法在应对快速变化的需求时显得力不从心。敏捷方法论以其灵活性和适应性,逐渐成为项目管理的主流方法之一。然而,项目管理证书如PMP(项目管理专…

六大亮点解析:AI视频监控助力部队训练安全管理

一、用户痛点: 在部队的日常训练和任务执行中,官兵的安全始终是最为重要的保障。然而,传统的监控方式存在显著的局限性,尤其是在高强度、长时间的训练过程中,人工值守监控容易产生疲劳,误判的风险大,难以及时发现隐患。尤其在突发事件发生时,传统监控往往无法做到即时预…

低代码时代:这 9 款项目管理系统,90% 的企业都在用!

在低代码时代,企业对项目管理系统的需求日益增长。项目管理工具种类繁多,涵盖了从传统的项目管理软件到新兴的云平台,其中包括禅道、简道云、明道云、Trello、Teambition、Jira、Redmine、OutSystems、Zoho Projects等。这些工具以其独特的功能和特点,满足了不同企业的项目…

在Lazarus下的Free Pascal编程教程——在程序运行时改变组件的外观

0.前言 我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”和“…