gpt4 book ai didi

c# - Linq 合并列表

转载 作者:行者123 更新时间:2023-12-02 22:38:43 25 4
gpt4 key购买 nike

我的类(class):

    public class Foo
{
public int A { get; set; }
public List<Bar> Bars { get; set; }
}

我有 IEnumerable<Foo> .我想要 List<Foo>按A分组,得到Bars列表,包含分组中Bars的所有元素。

所以最终的 Foo.Bars 应该包含组中 Bar 的所有元素

用 linq 可以吗?

最佳答案

var result = foos.GroupBy(f => f.A)
.SelectMany(grp => grp.Select(f => f.Bars));

正如 Rawling 所提到的,这返回的不是 IEnumerable<Foo>。 ,所以试试这个:

IEnumerable<Foo> result = 
foos.GroupBy(f => f.A)
.Select(grp => new Foo() {
A = grp.Key,
Bars = grp.SelectMany(ff => ff.Bars).Distinct().ToList()
});

我不确定您是否想要一个不同的 Bars 列表或不。请注意,您可能需要覆盖 EqualsGetHashCode在类里面Bar .

关于c# - Linq 合并列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051299/

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