我有一个List对象,其中包含一个字符串数组作为其属性之一.我想得到一个包含所有值的独特字符串数组.
我的对象看起来像这样:
public class Zoo {
string Name { get; set;}
string[] Animals { get; set;}
}
Run Code Online (Sandbox Code Playgroud)
有些动物园可能只有一种动物,有些可能有很多动物.什么是最简单的Lambda表达式或LINQ查询,以获得所有动物园中所有动物的唯一列表List<Zoo>?
我有一个函数,它从集合中返回属性值列表:
public static List<string> GetSpeakerList()
{
var Videos = QueryVideos(HttpContext.Current);
return Videos.Where(v => v.Type == "exampleType"
.SelectMany(v => v.SpeakerName)
.Distinct()
.OrderBy(s => s)
.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我想要一个通用版本,它可以让我确定我想要投影的哪个字段 - 而不是SpeakerName我想允许选择Video.Length或Video.Type.
我理解SelectMany采用Func,那么使Func可配置为允许将其作为参数传递给此函数的最佳方法是什么?