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