Maison > développement back-end > C++ > Comment LINQ peut-il simplifier le pivotement des données pour une meilleure lisibilité ?

Comment LINQ peut-il simplifier le pivotement des données pour une meilleure lisibilité ?

Barbara Streisand
Libérer: 2025-01-06 01:50:42
original
174 Les gens l'ont consulté

How Can LINQ Simplify Data Pivoting for Enhanced Readability?

Pivoter les données avec la simplicité de LINQ

La transformation des données dans un format plus convivial est souvent nécessaire. Une approche courante est le pivotement, où les données sont restructurées pour les afficher sous forme de grille. Imaginez avoir une collection d'éléments avec un objet Enum et un objet User. Pour le visualiser dans une grille, vous devez l'aplatir.

LINQ fournit une solution élégante pour de tels scénarios. Commençons par regrouper les données en fonction de la valeur Enum, créant ainsi des colonnes.

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()
          };
Copier après la connexion

Ensuite, déterminez le nombre total de lignes en fonction du nombre maximum d'éléments dans n'importe quelle colonne.

int rows = grps.Max(grp => grp.Bars.Length);
Copier après la connexion

Enfin, parcourez les colonnes et les lignes pour construire le résultat souhaité.

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();
}
Copier après la connexion

Ce système basé sur LINQ Cette approche fournit un moyen concis et efficace de faire pivoter les données, ce qui facilite leur affichage de manière plus organisée et informative.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal