2012-01-14 110 views

回答

4

double僅僅是System.Double(由CLR認可的一類)語言的別名,所以它應該是完全相同。

您是否遇到會指出其他問題?

+1

我想從長評論中清除我的理解,所以:'double'是System.Double的關鍵字(或別名),我的問題應該是,更準確地說,「double和System.Double的區別」。我對嗎? – KMC 2012-01-14 04:54:23

+2

你的問題是正確的(至少我們這些地球上的人都明白這一點),並且你收到的答案(除了阿里的回答)正確回答。簡而言之,'double'只不過是編譯器的'System.Double'。它們是一樣的,只是編譯器允許你使用'double'來實現遺留的兼容性。 – 2012-01-14 04:58:43

+0

@KMC:M.Babcock說得很好,我不需要添加任何內容。 – 2012-01-14 05:03:40

2

什麼都沒有......
double是System.Double的別名。沒有其他的。

so double.Parse與Double.Parse完全相同。

2

什麼都沒有;其中一個(doubleDouble - 不記得)是另一個的別名。

編譯器負責處理它,所以幾乎沒有區別。

還有其他對這樣的例子,太像int/Int32String/string

+0

那麼爲什麼都存在?如果兩個人做同樣的事情,一個人不應該存在? – KMC 2012-01-14 03:59:19

+1

@KMC看到這個問題:http://stackoverflow.com/questions/8626056/in-c-why-is-int-an-alias-for-system-int32 – 2012-01-14 04:00:30

+1

@KMC - 考慮它爲那些開發者來的語法糖來自C/C++的背景。 – 2012-01-14 04:03:30

2

簡而言之,Double只是雙精度的別名,只需按雙字上的F12即可查看。實際上,主類型是雙精度型,但是在.net Framework中是雙精度型,參見msdn about double

1

準確地說,

下表顯示了內置C#類型,這是預定義的類型System命名空間的 別名的關鍵字。

BOOL - > System.Boolean

十進制 - > System.Decimal

雙 - > System.Double

INT - > System.Int32

完整列表here