使用 LINQ 簡單性透視資料
通常需要將資料轉換為更用戶友好的格式。一種常見的方法是旋轉,其中資料被重組以以類似網格的方式顯示。想像一下有一個帶有枚舉和使用者物件的項目集合。要在網格中可視化它,您需要將其展平。
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中文網其他相關文章!