2009-08-17 31 views
0

需要帮助这里的情景:LINQ - 与语句/场景

鉴于产出清单每个基于GroupNumber整数关联。对于从最低GroupNumber(1)开始的输出列表中的每个不同的GroupNumber。循环访问该不同的组号码集并执行验证方法。

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

谢谢, 马特

+0

这看起来像家庭作业。您可能想要将其标记为。 – 2009-08-17 22:04:03

+0

这也很高兴看到你到目前为止尝试过的东西,你的输入和输出是什么,你用来验证什么等等。 – dahlbyk 2009-08-17 22:09:42

回答

2

有几乎太很多方法可以解决这个问题:

下面是一个void Validate方法。

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

这里有一个对一个布尔值验证方法。

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

如果你需要他们作为群体:

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);