Pivot-Daten mit LINQ-Einfachheit
Die Umwandlung von Daten in ein benutzerfreundlicheres Format ist oft erforderlich. Ein gängiger Ansatz ist das Pivotieren, bei dem Daten neu strukturiert werden, um sie rasterartig anzuzeigen. Stellen Sie sich vor, Sie hätten eine Sammlung von Elementen mit einem Enum- und einem User-Objekt. Um es in einem Raster darzustellen, müssen Sie es reduzieren.
LINQ bietet eine elegante Lösung für solche Szenarien. Beginnen wir damit, die Daten basierend auf dem Enum-Wert zu gruppieren und so effektiv Spalten zu erstellen.
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() };
Bestimmen Sie als Nächstes die Gesamtzahl der Zeilen basierend auf der maximalen Anzahl von Elementen in einer beliebigen Spalte.
int rows = grps.Max(grp => grp.Bars.Length);
Abschließend durchlaufen Sie die Spalten und Zeilen, um die gewünschte Ausgabe zu erstellen.
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(); }
Dieser LINQ-basierte Ansatz bietet eine Prägnante und effiziente Möglichkeit, Daten zu schwenken, sodass sie einfacher organisierter und informativer angezeigt werden können.
Das obige ist der detaillierte Inhalt vonWie kann LINQ die Daten-Pivotierung für eine bessere Lesbarkeit vereinfachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!