我有以下代码:Func<string, bool> comparer = delegate(string value) { return value != "0";};但是,以下内容无法编译:var comparer = delegate(string value) { return value != "0";};为何编译器无法找出它是Func<string, bool>?它采用一个字符串参数,并返回一个布尔值。相反,它给了我错误:无法将匿名方法分配给隐式类型的局部变量。我有一个猜测,那就是如果var版本已编译,如果我具有以下内容,它将缺乏一致性:var comparer = delegate(string arg1, string arg2, string arg3, string arg4, string arg5) { return false;};由于Func <>最多只允许4个参数(在我使用的.NET 3.5中),因此上述内容没有任何意义。也许有人可以澄清这个问题。谢谢。
3 回答
- 3 回答
- 0 关注
- 546 浏览
添加回答
举报
0/150
提交
取消