Data Pangsi dengan Kesederhanaan LINQ
Mentransformasi data kepada format yang lebih mesra pengguna selalunya diperlukan. Pendekatan biasa ialah berputar, di mana data disusun semula untuk memaparkannya dalam cara seperti grid. Bayangkan mempunyai koleksi item dengan objek Enum dan Pengguna. Untuk menggambarkannya dalam grid, anda perlu meratakannya.
LINQ menyediakan penyelesaian yang elegan untuk senario sedemikian. Mari kita mulakan dengan mengumpulkan data berdasarkan nilai Enum, mencipta lajur dengan berkesan.
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() };
Seterusnya, tentukan jumlah bilangan baris berdasarkan bilangan maksimum item dalam mana-mana lajur.
int rows = grps.Max(grp => grp.Bars.Length);
Akhir sekali, ulangi lajur dan baris untuk membina output yang diingini.
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(); }
Ini Pendekatan berasaskan LINQ menyediakan cara yang ringkas dan cekap untuk memutar data, menjadikannya mudah untuk memaparkannya dengan cara yang lebih teratur dan bermaklumat.
Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Memudahkan Pemansingan Data untuk Kebolehbacaan Dipertingkatkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!