我知道它不能完成,因爲使用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