为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不能将匿名方法分配给var?

为什么不能将匿名方法分配给var?

四季花海 2019-12-12 14:43:21
我有以下代码: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
提交
取消
意见反馈 帮助中心 APP下载
官方微信