gpt4 book ai didi

c# - 返回 linq 和的输入序列的元素

转载 作者:太空狗 更新时间:2023-10-30 00:49:36 25 4
gpt4 key购买 nike

假设我有一个结构为以下 2 列表的简单列表:


letter|number

a|1

a|7

b|2

b|5

我想要一个 Linq 查询,它对“字母”列进行分组,对“数字”列的分组元素求和,并另外返回数组中的求和元素。这将导致下表:


a | 8 | {1,7}

b | 7 | {2,5}

我有什么:

public class GroupedRow {
public int number { get; set; }
public string letter { get; set; }
public int[] elements { get; set; }
}

在程序中:

List<GroupedRow> listfromquery = numberletterlist.GroupBy(x => x.letter)
.Select(grp => new GroupedRow() {
number = grp.Sum(x => x.number)
letter = grp.key.letter
// elements=
};

尽管我看到了其他方法,但我想在 1 个 linq 查询(如果可能)或其他简单快速的方法中执行此操作。

最佳答案

grp是一组元素,它实现了 IEnumerable<T> .只需选择 number从它然后将它转换成这样的数组:

List<GroupedRow> listfromquery =
numberletterlist.GroupBy(x => x.letter)
.Select(grp => new GroupedRow()
{
number = grp.Sum(x => x.number),
letter = grp.Key,
elements = grp.Select(x => x.number).ToArray()
}).ToList();

关于c# - 返回 linq 和的输入序列的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37182025/

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