回答
簡單明瞭:編譯時間
var
不是一個類型。實際類型是在編譯時計算出來的。
var
變量也被稱爲Implicitly Typed Local Variables (C# Programming Guide)
我一直在試圖想出一個類型不會被知道直到運行時,這是可能的嗎? – DarthVader 2010-09-03 03:52:36
@user,no。如果編譯器無法確定類型,編譯將失敗。 – 2010-09-03 03:58:39
您應該在C#4.0中檢查新的'dynamic'關鍵字。 http://msdn.microsoft.com/en-us/library/dd264736.aspx – 2010-09-03 03:58:48
變種類型得到的compile time
。
變種是一個隱式類型的局部變量是強類型的,就好像你已經自己聲明的類型,但是編譯器決定爲
var i = 10; // implicitly typed
int i = 10; //explicitly typed
如果你打算從MSDN頁面添加引號,你可以鏈接到它。 – 2010-09-03 03:52:26
的var keyword被隱式類型。這意味着它是強類型的,但編譯器確定類型。
這已經在其他問題上進行了討論,包括[C#'var'vs特定類型性能](http://stackoverflow.com/questions/356846/c-var-vs-specific-type-performance)和[ 動態(C#4)和var之間有什麼區別? (http://stackoverflow.com/questions/961581/whats-the-difference-between-dynamicc-4-and-var)。 – 2010-09-03 03:57:51
它不會顯示在建議傢伙。爲此實現更好的算法。我不會說話。 – DarthVader 2010-09-03 04:00:37
而我不是SO開發者,加上我沒有投票結束。我添加了鏈接,以便人們可以去那裏獲取更多信息。 – 2010-09-03 04:05:41