我想做与这里相反的事情
我有一个列表,我知道如何删除重复项。但我希望有一个选项,用户可以选择保留哪个副本。有些查询查询我可以有一个只显示重复项的列表。类似于:
假设我的列表是:
"tom"bob"Frank"
我知道,如果我使用不同的方法,我会得到:
"tom"bob"Frank"Lacey"
我不知道我必须用什么方法才能得到:
"bob"
或获取
"bob"frank"
因为这些都是重复的。
您可以使用GroupBy
过滤掉只出现一次的项目,然后将剩余的项目放回列表中:
var resultList = list.GroupBy(x => x)
.Where(g => g.Count() > 1)
.SelectMany(g => g)
.ToList();
我需要通过一个特定的属性来比较它们,因为我刚刚将您的查询BrokenGlass修改为
var resultList = itemsThatNeedToBeAdded.GroupBy(x => x.property1)
.Where(g => g.Count() > 1 )
.SelectMany(g => g)
.ToList();