2013-07-12 58 views
0

您好,請原諒noob問題。c#使用var明確鍵入數字

我可以例如顯式地定義使用 '無功' 是一個DOUBLE類型的變量,例如,:

VAR NUM = 5D;

我知道我知道,我真的混淆了'var'隱含的事實! 但是真的覺得用'd'定義變量是明確的,因爲正如你最有可能意識到的那樣,沒有'd',你將它留給編譯器,因此對我來說一個更隱含的初始化。

這反而會定義一個Int32,實際上,因爲您沒有做出選擇(或者您確實很聰明,並且知道默認設置是什麼 - 但默認情況可能會在未來發生變化,所以要小心!) ,

var num = 5;

然而,我試圖找到一個圖表顯示所有可用的初始化......但是,唉,我忘了這種類型的初始化速記叫做什麼...... :(

謝謝

+0

必讀:[C#3.0仍然是靜態類型,誠實!](http://blogs.msdn.com/b/ericlippert/archive/2005/09/27/c-3-0-is-still-statically- typed-honest.aspx) – dasblinkenlight

+1

因爲'X86',它不是'Int32',而是因爲整數字面大小。如果它不適合'Int32',它將隱式地成爲'Int64'。 –

+0

謝謝 - 實際上構建了一個x64應用程序來檢查我的原始帖子,果然,它解析爲Int32。 – flaZer

回答

1

如果我理解正確的話,你是這樣的搜索的東西:。http://www.dotnetperls.com/suffix

Suffix type: unsigned int 
Character: U 
Example:  uint x = 100U; 

Suffix type: long 
Character: L 
Example:  long x = 100L; 

Suffix type: unsigned long 
Character: UL 
Example:  ulong x = 100UL; 

Suffix type: float 
Character: F 
Example:  float x = 100F; 

Suffix type: double 
Character: D 
Example:  double x = 100D; 

Suffix type: decimal 
Character: M 
Example:  decimal x = 100M; 

當然你也可以用小寫字母

+0

lol - 我將在工作中使用後綴「placeix」 「速記」但踢了因爲它似乎很noob'ish :) 感謝澄清這個問題對我來說! – flaZer