有没有人遇到过这个问题?我有两个相同的候选方法Enumerable.Where 什么是Func'2和Func'3?
当我尝试过滤可枚举的
时var subItems = itemsToShow.Where(item => item.Visible);
我有一个错误:
无法解析方法'where(lambda expression)',候选者
System.Collection.Generic.IEnumerable<T> Where<T>(this System.Collection.Generic.IEnumerable<T>, System.Func'2) (in calss Enumerable)
System.Collection.Generic.IEnumerable<T> Where<T>(this System.Collection.Generic.IEnumerable<T>, System.Func'3) (in calss Enumerable)
在.Net 3.5上,这项工作非常完美
答案 0 :(得分:3)
快速查看MSDN会告诉您实际上有两次重载。
一个只是基于谓词过滤,第二个重载也考虑了枚举中项目的索引。
答案 1 :(得分:0)
Func'3
和Func'2
表示它是具有2和3类型参数的泛型类。
我假设首先是Func<T, bool>
,其中T
是您之前定义的类型。
和Func<T, int, bool>
相同的加索引器。
Func<T, int, bool>
- 它是一个谓词,接受两个T
和int
类型的参数,并返回bool
。
答案 2 :(得分:0)
尝试投射到IQueryable。像这样:itemsToShow.AsQueryable()
答案 3 :(得分:0)
只需构建解决方案并查看详细错误。我是一个可以为空的布尔。