首页 >后端开发 >C++ >LINQ 如何简化数据透视以增强可读性?

LINQ 如何简化数据透视以增强可读性?

Barbara Streisand
Barbara Streisand原创
2025-01-06 01:50:42178浏览

How Can LINQ Simplify Data Pivoting for Enhanced Readability?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn