gpt4 book ai didi

C# 从 IGrouping 中选择不同的值

转载 作者:行者123 更新时间:2023-11-30 14:05:09 25 4
gpt4 key购买 nike

我有两个类:

class Foo 
{
public Bar SomeBar { get; set; }
}

class Bar
{
public string Name { get; set; }
}

我有一个我组合在一起的 Foos 列表:

var someGroup = from f in fooList
orderby f.SomeBar.Name ascending
group f by f.SomeBar.Name into Group
select Group;

如何从 someGroup 中获取不同 Bars 的列表?

最佳答案

同名的 Bar 会不会不止一个?如果是这样,那就麻烦了。如果没有,您可以将其更改为:

var grouped = from f in fooList
orderby f.SomeBar.Name ascending
group f by f.SomeBar into Group
select Group;

var bars = grouped.Select(group => group.Key);

或者,如果每个 name 只需要一个 Bar,您可以坚持原来的查询,但更改最后一位:

var someGroup = from f in fooList
orderby f.SomeBar.Name ascending
group f by f.SomeBar.Name into Group
select Group;

var bars = someGroup.Select(group => group.First().SomeBar);

这将获取每个组中的第一个 Foo,并找到它的 Bar。

关于C# 从 IGrouping 中选择不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591144/

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