我有一个对象列表,其中包含一个字符串数组作为它们的属性之一。我想要获取一个不同的字符串数组,其中包含所有值。
我的对象长这样:
public class Zoo {
string Name { get; set;}
string[] Animals { get; set;}
}
在
List<Zoo>
中获取所有动物园的动物的唯一列表,有些动物园可能只有一个动物,而有些则可能有很多。最简单的Lambda表达式或LINQ查询是什么?var query = zoos.SelectMany(zoo => zoo.Animals)
.Distinct();
或者如果你是一个查询表达式的粉丝(对于这么简单的事情我不会这么做):
var query = (from zoo in zoos
from animal in zoo.Animals
select animal).Distinct();