gpt4 book ai didi

c# - 使用 LINQ,选择另一个对象列表中的对象列表

转载 作者:IT王子 更新时间:2023-10-29 03:57:09 26 4
gpt4 key购买 nike

public class ClassA
{
public string MyString {get; set;}
}

public class ClassB
{
public List<ClassA> MyObjects {get; set;}
}

List<ClassB> classBList = new List<ClassB>();
var results = (from i in classBList select i.MyObjects).Distinct();

我想要classBList 中所有ClassA 对象的不同列表。我该如何使用 LINQ 来解决这个问题?我正在考虑嵌套查询,但无法完全弄清楚。非常感谢任何帮助。

最佳答案

您正在尝试为原始列表中的每个 ClassB 对象选择多个结果对象。

因此,您正在寻找 SelectMany extension method :

var results = classBList.SelectMany(b => b.MyObjects).Distinct();

如果你想使用查询表达式,你需要使用two from clauses :

var results = (from b in classBList from a in b.MyObjects select a).Distinct();

关于c# - 使用 LINQ,选择另一个对象列表中的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934583/

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