首页 >后端开发 >C++ >如何使用 LINQ 分区实现组内的行编号?

如何使用 LINQ 分区实现组内的行编号?

DDD
DDD原创
2024-12-30 06:50:10673浏览

How to Implement Row Numbering within Groups Using LINQ Partitioning?

使用 LINQ 分区进行行编号

给定一个填充了音乐家及其乐器的 DataTable,我们希望使用以下命令来模拟 MSSQL 查询的功能LINQ 确定每个乐器组内的位置顺序。

中LINQ,我们可以通过分组和选择操作的组合来完成此操作:

var orderedBeatles = from b in beatles
                    group b by b.inst into instGroup
                    select new
                    {
                        b.id,
                        b.inst,
                        b.name,
                        rn = instGroup.Count()
                    };

这里,我们根据 Beatles 的乐器 (inst) 对他们进行分组,并使用 Count() 方法来计算行号 ( rn) 对于每个仪器。然后,我们为每个 Beatle 创建一个匿名类型,包括原始属性以及计算的行号。

此 LINQ 查询产生以下输出:

id |   inst   |   name  | rn
-----------------------------
 1 |  guitar  |  john   | 1
 2 |  guitar  |  george | 2
 3 |  guitar  |  paul   | 3
 4 |  drums   |  ringo  | 1
 5 |  drums   |  pete   | 2

此结果反映了预期的结果MSSQL 查询的输出,使用 LINQ 分区在仪器组内提供所需的行编号。

以上是如何使用 LINQ 分区实现组内的行编号?的详细内容。更多信息请关注PHP中文网其他相关文章!

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