[英]LINQ - Need help with a statement/ scenario
這是場景:
給定一個輸出列表,每個輸出列表都與基於整數的GroupNumber相關聯。 對於輸出列表中的每個不同的GroupNumber,從最低的GroupNumber(1)開始。 循環瀏覽不同的組號集並執行驗證方法。
基本上,從最低的組號到最高的組號,先驗證一組輸出,然后再驗證較高的組號集。
謝謝,馬特
解決這個問題的方法太多了:
這是一個無效的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();
如果您需要將它們作為組:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.