1
我已经从集合返回属性值列表的功能:如何通过Func参数设置LINQ SelectMany投影?
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();
}
我想有一个通用版本,这将让我确定哪个领域,我想预测 - 说的不是SpeakerName我想允许选择Video.Length或Video.Type。
我知道SelectMany需要一个Func,那么让Func可配置为允许将它作为参数传递给此函数的最佳方法是什么?
我得到以下错误,当我运行: 错误\t \t 7的类型参数方法“System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable , System.Func >)'不能从使用情况推断。尝试明确指定类型参数。 –
2009-08-14 17:19:58
其实我不认为你需要SelectMany,因为你实际上并没有选择扬声器名称,类型或长度的集合。你只是从每个选择一个属性,然后做一个独特的。如果您将SelectMany更改为选择,它应该可以工作。 – tvanfosson 2009-08-14 17:33:11
更确切地说,当您想从枚举中的每个元素中选择一个元素集合时,就使用SelectMany。如果要从枚举中的每个元素中选择一个属性,请使用选择。 – tvanfosson 2009-08-14 17:34:17