C# LINQ-从对象层次中选择所有子对象
我有一个对象的C# LINQ-从对象层次中选择所有子对象,c#,linq,C#,Linq,我有一个对象的列表,其中包含一个字符串数组作为其属性之一。我想得到一个包含所有值的不同字符串数组 我的对象如下所示: public class Zoo { string Name { get; set;} string[] Animals { get; set;} } 有些动物园可能只有一种动物,有些可能有许多。最简单的Lambda表达式或LINQ查询是什么,可以在列表中获得所有动物园中所有动物的唯一列表 或者,如果你是一个查询表达式迷(我不会这么简单): 打字错误在哪里?我一
列表
,其中包含一个字符串数组作为其属性之一。我想得到一个包含所有值的不同字符串数组
我的对象如下所示:
public class Zoo {
string Name { get; set;}
string[] Animals { get; set;}
}
有些动物园可能只有一种动物,有些可能有许多。最简单的Lambda表达式或LINQ查询是什么,可以在列表中获得所有动物园中所有动物的唯一列表
或者,如果你是一个查询表达式迷(我不会这么简单):
打字错误在哪里?我一定是漏掉了:)我的申请表上有打字错误。我迫不及待地等待Visual Studio的StackOverflow加载项出现,以便您可以在我工作时修复我的应用程序。:-)
var query = zoos.SelectMany(zoo => zoo.Animals)
.Distinct();
var query = (from zoo in zoos
from animal in zoo.Animals
select animal).Distinct();