上代码
#region 测试Dictionary<TKey,TValue>如何添加键重复的内容 public class MyDictionaryComparer : IEqualityComparer<string> { 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<string, string> dict = new Dictionary<string, string>(new MyDictionaryComparer()); List<string> ts = new List<string>(); // 输出内容到控制台 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
效果图:
正常情况下向Dictionary添加相同的键会报错,但是实现IEqualityComparer<TKey>接口 以后就不会报错了;
源码出处:https://www.cnblogs.com/rampb/archive/2004/01/13/9668777.html