按值从 KeyValuePair 列表中删除重复项

San*_*hav 4 c# keyvaluepair

KeyValuePair我有一个C# 格式的列表,格式为KeyValuePair<long, Point>. 我想从列表中删除具有重复值的项目。

具有坐标的 Point 对象{X,Y}

样本数据:

List<KeyValuePair<long, Point>> Data= new List<KeyValuePair<long,Point>>();
Data.Add(new KeyValuePair<long,Point>(1,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(2,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(3,new Point(10,15)));
Run Code Online (Sandbox Code Playgroud)

期望的输出:

1,(10,10)    
3,(10,15)
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以在单行中执行此操作:

var result = Data.GroupBy(x => x.Value).Select(y => y.First()).ToList();