2015-11-05 23 views
-1

我一直在研究有關OOP一個C#PDF,閱讀大部分之後,我決定讓C#和VB之間的比較,但我有點在混淆什麼是整數等在VB

c#據說int是一個結構體。我用Visual Studio來檢查它。我將光標指向int的地址

int num; 

它說:struct System.int32。正因爲如此,我相信,這是一個結構這是在VB

結構,但是當我在VB中已經嘗試過了,

Dim num As Integer 

它只是說:integer表示一個32位有符號整數,它沒有說任何關於是一個結構。這意味着什麼?

我已經在VB中做了一個簡單的結構,這樣

Structure person 

End Structure 

,當我將它實例化

Dim jk As person 

它說:結構人(當我指出親自光標)。這是不是意味着它會說結構,如果它是一個結構,但爲什麼不是整數?

是VB上的整數結構嗎?或者如果不是,它是什麼?

我只是一個初學者,只是想學習。感謝

+0

https://msdn.microsoft.com/en-us/library/system.int32(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb – Claies

+0

@Claies,所以它是一個結構畢竟?但爲什麼不視覺工作室說呢? – jks

+5

設計決定由VB團隊,我想。整數是一個結構的事實在大多數情況下並不特別相關。 – Blorgbeard

回答

0

是的,VB.NET Integer類型是一樣的C#int類型,以及兩者都爲.NET System.Int32類型,這是一個值類型(即struct)別名。你可以在the documentation中看到這個(有點類似,因爲這個類型自稱爲Integer,即使它被記錄爲Int32),並且你可以在測試程序中看到它,如果你只是做了一些像如上所述聲明變量num,然後評估num.GetType().Name

將鼠標懸停在類型上時顯示的工具提示不是由底層類型本身或甚至語言本身確定的,而是由編輯器確定的。你看到兩種不同的東西取決於你使用的是哪種語言,這意味着編寫每個編輯者的人就編輯者在這些情況下如何顯示類型做出了不同的決定。

他們爲什麼決定?我們只能推測。你將不得不問問設計編輯人員的人。我會猜想,這是因爲VB.NET曾經是爲那些習慣於編寫非.NET Visual Basic代碼的人所熟悉的,所以對於像System.Int32這樣的內置類型,他們專門爲此提供了工具提示它會顯示開發人員已經熟悉的類型名稱。