簡體   English   中英

LINQ-在聲明/場景方面需要幫助

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM