假设我有以下课程:
public class Test{
public string Length { get; set; }
public string Width { get; set; }
public string Height { get; set; }
public int Count { get; set; }
public string Label { get; set; }
}
我想找到具有相同长度和标签值的项目,并计算每个项目的数量。到目前为止,我的代码看起来像:
var dups = testlist.GroupBy(i => new { i.Length, i.Label })
.Where(g => g.Count() >= 1)
.Select(g => new { Length = g.Key.Length, Label = g.Key.Label,
Count = g.Count() });
但问题是,var中的对象不再具有width或height属性(它们不存在于g.Key中)。无论如何,在结果中保存其他属性时,是否基于两个属性找到重复项?
答案 0 :(得分:17)
在此之后
testList
.GroupBy(i => new { i.Length, i.Label })
.Where(g => g.Count() >= 1)
你实际上有一个IEnumerable<IEnumerable<Test>>
。这是一个欺骗列表清单。你还想要什么?