【发布时间】:2010-04-08 08:58:36
【问题描述】:
我知道这是做不到的,因为使用 var 只能用于局部变量。我只是想知道是否有人知道为什么 C# 团队认为应该如此。例如这会有什么问题:
public class SomeClass
{
var someString = "hello"; //not cool
public SomeClass()
{
var someOtherString = "hello"; //cool
}
}
如果someString 被初始化,那么它显然是一个字符串,就像someOtherString。为什么局部变量有一条规则,而全局变量有一条规则?
【问题讨论】:
-
那是关于方法参数是 var。对我来说,这很明显,因为没有实例化方法定义如何知道参数是什么。
-
没错,应该更清楚:这是一个不同的问题,但答案相同:成员变量的 var 是不可能的,因为编译器必须进行重大更改,并且成本/收益比是'不足以保证这种改变。
标签: c# c#-3.0 inferred-type