我有List<Location> locations
.
Location
类有一个属性 Coordinates
- 假设一个字符串。
如何删除具有重复坐标的位置并将它们放入单独的列表中?有两个列表 - 一个用于重复,一个没有。
最佳答案
创建 IEqualityComparer< Locations > 将是您的首要任务之一(它允许您根据您选择的属性比较对象)。
如果您想使用 Linq 获取唯一项,则可以使用 Distinct() 方法。
然后您可以从原始列表中删除这些项目,这将留下一组重复项。
var distinctObjects = originalList.Distinct();
var duplicateList = originalList.Except(distinctObjects);
您需要为 distinct 使用自定义相等比较器,但不需要 except。
关于c# - 从列表中过滤重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4921264/