可能重复:
Implicit typing; why just local variables?为什么C#不能推断类成员的类型?
C#允许这样的:
public class MyClass
{
public void Foo()
{
var q = new MyObject();
}
}
但它不会允许这样的:
public class MyClass
{
var q = new MyObject();
public void Foo()
{
// ...
}
}
的是这是为什么?谢谢。
这是一个设计选择。 – Adam
因为没有人编写规范,编码并测试它。 – asawyer
http://blogs.msdn.com/b/ericlippert/archive/2009/01/26/why-no-var-on-fields.aspx – Servy