我試圖創建一個方法,我可以將Linq
表達式作爲參數傳遞以返回一個新的項目列表。'列表'不包含'Where'的定義
目前我做這個(based off this answer):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
class Collection<T> {
List<T> items = new List<T>();
public Collection<T> Filter(Expression<Func<T, bool>> query) {
Collection<T> c = new Collection<T>();
c = items.Where(query);
return c;
}
}
'列表' 不包含 '去哪兒' 的定義和最佳推廣方法重載「Queryable.Where(IQueryable的,表達>) '需要一個'IQueryable'類型的接收器
我不確定在這裏要做什麼來解決這個問題。
對於[如果](HTTPS:/ /msdn.microsoft.com/en-us/library/bb534803(v=vs.110).aspx)你需要傳遞一個'Func'這不是你的'query'。 –
當你做'c = items.Where(query);'時,你沒有填充集合,而是試圖創建一個新集合。請參閱Rene Vogt的解答。 –