我知道它不能完成,因为使用var只能用于局部变量。我只是想知道,如果有人有理论,为什么C#团队认为这应该是这样。例如什么是不对的:为什么C#不允许全局推断类型,即使用var?
public class SomeClass
{
var someString = "hello"; //not cool
public SomeClass()
{
var someOtherString = "hello"; //cool
}
}
如果someString
被初始化那么这显然是一个字符串,就像someOtherString
。为什么局部变量和全局变量有一个规则?
可能重复http://stackoverflow.com/questions/2575693/why-it-isnt-possible-to-declare-a-method-parameter-as-var-type – 2010-04-08 09:01:37
多数民众赞成在方法参数正在变种。对我来说,这是非常明显的,因为没有示例,方法定义如何知道参数是什么。 – BritishDeveloper 2010-04-08 09:04:10
是的,应该更清楚一点:这是一个不同的问题,但答案相同:成员变量的var是不可能的,因为编译器将不得不被显着改变,并且成本/收益比不足以保证改变。 – 2010-04-08 21:55:14