LINQ Simplicity によるデータのピボット
多くの場合、データをより使いやすい形式に変換することが必要になります。一般的なアプローチはピボットです。ピボットでは、データを再構築してグリッド状に表示します。 Enum と User オブジェクトを含む項目のコレクションがあると想像してください。グリッドで視覚化するには、それを平坦化する必要があります。
LINQ は、そのようなシナリオにエレガントなソリューションを提供します。まず、Enum 値に基づいてデータをグループ化し、列を効果的に作成します。
var grps = from d in data group d by d.Foo into grp select new { Foo = grp.Key, Bars = grp.Select(d2 => d2.Bar).ToArray() };
次に、任意の列の項目の最大数に基づいて行の合計数を決定します。
int rows = grps.Max(grp => grp.Bars.Length);
最後に、列と行を反復処理して、目的の出力を構築します。
foreach (var grp in grps) { Console.Write(grp.Foo + "\t"); } Console.WriteLine(); for (int i = 0; i < rows; i++) { foreach (var grp in grps) { Console.Write((i < grp.Bars.Length ? grp.Bars[i] : null) + "\t"); } Console.WriteLine(); }
これは LINQ ベースです。このアプローチは、データをピボットするための簡潔かつ効率的な方法を提供し、より組織的かつ有益な方法でデータを簡単に表示できるようにします。
以上がLINQ はデータ ピボットを簡素化して可読性を高めるにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。