-1

这是场景:

给定一个输出列表,每个输出都与一个基于整数的 GroupNumber 相关联。对于从最低 GroupNumber (1) 开始的输出列表中的每个不同 GroupNumber。循环通过该不同的组号集并执行验证方法。

基本上,从最低组号到最高组号开始,首先验证一组输出,然后再验证更高的组号集。

谢谢,马特

4

2 回答 2

2

解决这个问题的方法几乎太多了:

这是一个 void Validate 方法。

source
  .GroupBy(x => x.GroupNumber)
  .OrderBy(g => g.Key)
  .ToList()
  .ForEach(g => Validate(g));

这是一个 bool Validate 方法。

var results = source
  .GroupBy(x => x.GroupNumber)
  .OrderBy(g => g.Key)
  .Select(g => new
  {
      GroupNumber = g.Key,
      Result = Validate(g),
      Items = g.ToList()
  })
  .ToList();
于 2009-08-18T00:19:02.017 回答
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);
于 2009-08-17T22:09:30.620 回答