Code Bye

Dictionary重复值并提示

Dictionary<int, int>  abc
abc.add[1,3]
abc.add[2,2]
abc.add[3,3]
abc.add[4,1]
abc.add[5,3]
abc.add[6,4]
要求:判断 value中重复的,输出;重复项为 1,3      3,1     5,3   ,,,mesbox.sow 输出key和value两项   .。其中value不重复的不用输出。 谢谢
解决方案

80

 Dictionary<int, int> abc = new Dictionary<int, int>();
 abc.Add(1, 3);
 abc.Add(2, 2);
 abc.Add(3, 3);
 abc.Add(4, 1);
 abc.Add(5, 3);
 abc.Add(6, 4);
 var result = abc.GroupBy(a => a.Value).Where(g => g.Count(kv => kv.Value == g.Key) > 1).SelectMany(g => g);
 foreach (var kv in result)
 {
     Console.WriteLine(string.Format("[{0},{1}]", kv.Key, kv.Value));
 }

结果

[1,3]
[3,3]
[5,3]

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Dictionary重复值并提示