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不重复的不用输出。 谢谢
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]