以下是该方案:
给定一个输出列表,每个输出都与一个基于整数的GroupNumber相关联。对于以最低GroupNumber(1)开头的输出列表中的每个不同GroupNumber。循环显示不同的组号集并执行验证方法。
基本上,从最低到最高的组编号开始,在验证更高的组编号集之前首先验证一组输出。
谢谢, 马特
答案 0 :(得分:2)
解决这个问题的方法太多了:
这是一个void Validate方法。
source
.GroupBy(x => x.GroupNumber)
.OrderBy(g => g.Key)
.ToList()
.ForEach(g => Validate(g));
这是一个bool验证方法。
var results = source
.GroupBy(x => x.GroupNumber)
.OrderBy(g => g.Key)
.Select(g => new
{
GroupNumber = g.Key,
Result = Validate(g),
Items = g.ToList()
})
.ToList();
答案 1 :(得分:1)
如果您需要它们作为群组:
var qry = source.GroupBy(x=>x.GroupNumber).OrderBy(grp => grp.Key);
foreach(var grp in qry) {
Console.WriteLine(grp.Key);
foreach(var item in grp) {...}
}
如果您只是需要订购,就像它们被分组一样:
var qry = source.OrderBy(x=>x.GroupNumber);