以下の foreach ブロックを単純化する方法について提案を求めたいと思いました。すべてを 1 つの linq ステートメントで作成しようとしましたが、クエリ内で「カウント」値を操作する方法がわかりませんでした。
私が達成しようとしていることの詳細: - Id が繰り返される潜在的な重複を含む巨大なリストがありますが、プロパティ「カウント」は異なる数値です - 重複を取り除きたいが、それでもそれらを失いたくありません」 Count」の値 - 同じ ID を持つ項目については、「Count」プロパティを合計します
それでも、現在のコードは見栄えがよくありません。
var grouped = bigList.GroupBy(c => c.Id).ToList();
foreach (var items in grouped)
{
var count = 0;
items.Each(c=> count += c.Count);
items.First().Count = count;
}
var filtered = grouped.Select(y => y.First());
解決策全体を期待しているわけではありません。アイデアの断片も高く評価されます:)