在忽略键/值顺序的同时删除字典中的重复项?

时间:2017-04-30 13:14:23

标签: c# dictionary duplicates

好的,我确定我的标题没有多大意义,所以我会尝试更好地解释。我有一个包含两个Vector2的Dictionary,它代表了位置之间的连接。我的问题是我想删除重复项忽略键/值的顺序。例如,字典包含两个键值对,(0,0)(1,1)和(1,1)(0,0),它将删除其中一对。我希望这是有道理的。任何帮助都会很感激。

1 个答案:

答案 0 :(得分:-2)

鉴于相同顺序的重复项已经由字典的行为处理(您不能添加相同键的2项)并且假设Vector2实现IEquatable并生成有意义的哈希代码

dict.Where(v => dict.ContainsKey(v.Value) && dict[v.Value].Equals(v.Key)).Any(c => dict.Remove(c.Key));