Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 方法枚举中的两个候选项。其中_C#_.net_.net 4.0 - Fatal编程技术网

C# 方法枚举中的两个候选项。其中

C# 方法枚举中的两个候选项。其中,c#,.net,.net-4.0,C#,.net,.net 4.0,有人遇到过这个问题吗?我有两个相同的候选方法可枚举。在哪里 什么是Func'2和Func'3 当我尝试筛选可枚举项时 var subItems = itemsToShow.Where(item => item.Visible); 我有一个错误: 无法解析方法“Where(lambda表达式)”,候选项为 System.Collection.Generic.IEnumerable<T> Where<T>(this System.Collection.Generic.

有人遇到过这个问题吗?我有两个相同的候选方法可枚举。在哪里 什么是Func'2和Func'3

当我尝试筛选可枚举项时

var subItems = itemsToShow.Where(item => item.Visible);
我有一个错误:

无法解析方法“Where(lambda表达式)”,候选项为

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)
System.Collection.Generic.IEnumerable其中(this System.Collection.Generic.IEnumerable,System.Func'2)(在calss Enumerable中)
System.Collection.Generic.IEnumerable其中(此System.Collection.Generic.IEnumerable,System.Func'3)(在calss Enumerable中)
在.NET3.5上,这项工作非常完美

快速查看一下,会发现实际上有两个重载


一个只基于谓词进行筛选,第二个重载还考虑枚举中项的索引。

Func'3
Func'2
表明它是一个具有2和3个类型参数的泛型类

我假设第一个用于
Func
,其中
T
是您先前定义的类型。 和
Func
相同的加号索引器


Func
-它是一个谓词,接受类型为
T
int
的两个参数,并返回
bool

尝试强制转换为IQueryable。类似这样:itemsToShow.AsQueryable()

只需构建解决方案并查看详细错误。我的代码是一个可为空的布尔值。

我的代码在.Net 3.5上运行,但在将framework版本更改为4之后就不起作用了。对于来这里寻求此错误消息解决方案的人来说,这与此示例无关:如果忘记使用两个等号,而只使用一个,则会出现相同的错误。所以var what=db.Items.Where(x=>x.Id=123);将给出相同的错误。