我们说List<T>
其中T
有两个属性:
public int ID { get; set;}
public decimal Amount {get; set;}
原始列表results
看起来像这样......
ID Amount
1 5.50
2 6.50
3 6.50
4 7.00
我需要提取一个新的列表,其中Amount列中有任何重复项。因此,在这种情况下,生成的List<T>
将是:
ID Amount
2 6.60
3 6.50
这里有很多线索可以解决这个一般性的问题,从这里我已经到了这里:
var duplicateItems = results.GroupBy(r => r.Amount)
.Where(x => x.Count() > 1).Select(x => x.Key);
但是这给我一个看起来像这样的列表:
6.50
谢谢!
修改
此:
var duplicateItems = results.GroupBy(r => r.Amount)
.Where(x => x.Count() > 1).ToList();
也让我这样:
6.50
答案 0 :(得分:2)
results.GroupBy(r => r.Amount).Where(g => g.Count() > 1).SelectMany(g => g);
在本地测试,应该给出所需的结果。
答案 1 :(得分:0)
def browse2(lst):
if isinstance(lst,list):
for l in lst:
browse2(l)
else: print(lst)
答案 2 :(得分:0)
layout false
答案 3 :(得分:0)
这就是你所需要的,我不明白为什么你拒绝我的评论
var duplicateItems = results.GroupBy(r => r.Amount)
.Where(x => x.Count() > 1)