2009-08-17 63 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);