gpt4 book ai didi

c# - 使用 Linq To Objects 执行分组/投影的最简单方法

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:23 26 4
gpt4 key购买 nike

我从数据层获取数据,我需要使用 Linq To Objects 在中间层转换这些数据(我不控制应用程序的那个层)。我必须使用多个键执行分组操作,然后在非键字段上进行字符串连接。给定以下数据,我想按 CustomerID 和 Date 分组,并创建一个新结构,其中仅根据键生成一行,非键字段(在本例中为 Item)合并为一个字符串:

    CustomerID  Date         Item
A 11/1/2001 Bread
A 11/1/2001 Orange Juice
A 11/1/2001 Salad Dressing
B 11/1/2001 Bananas
C 5/6/2001 Candy
C 12/8/2005 Candy


CustomerID Date Item
A 11/1/2001 Bread
Orange Juice
Salad Dressing
B 11/1/2001 Bananas
C 5/6/2001 Candy
C 12/8/2005 Candy

这是否可能使用函数式风格的 linq 语法,还是我必须求助于老式的命令式 foreach 语法?

最佳答案

或者:

var results = items
.GroupBy(i => new { i.Date, i.CustomerID })
.Select(g => new {
CustomerID = g.Key.CustomerID,
Date = g.Key.Date,
Item = string.Join(", ", g.Select(i => i.Item).ToArray())
});

关于c# - 使用 Linq To Objects 执行分组/投影的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3703474/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com