Questions tagged «implicit-typing»

7
为什么不能将匿名方法分配给var?
我有以下代码: 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中,这是我正在使用的参数),因此上述方法没有意义。也许有人可以澄清这个问题。谢谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.