2010-09-09 95 views

回答

2

在任何.NET語言中都沒有「數據類型」這樣的東西。 「數據類型」通常用於闡明「類型」以指代變量的實際運行時類型,而不是抽象概念中的「種類」值。

int是什麼被稱爲值類型。所有基元類型(int,double,char等)都是值類型,但是string是一個引用類型(儘管與值類型一樣,它是不可變的)。

聲明爲class的任何對象是參考類型。聲明爲struct的任何對象是值類型

4

同樣的事情

7

其實在.NET中有引用類型和值類型。值類型爲enumstruct,引用類型爲class

intSystem.Int32的別名,它是一個struct等值類型,而在你的情況下,A是類,所以引用類型。

+4

這是一個重要的區別理解,但「數據類型」和「類型」指的是相同的概念。 – 2010-09-09 18:23:50

+1

引用類型可以爲空,而值類型不可以。 – Larry 2010-09-09 18:24:27

+1

@controlbreak:C#3.0引入了可爲空的值類型。請參見[這裏](http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx):「可空類型表示值類型變量,可以賦值爲null。」 – 2010-09-09 18:26:50

0

同樣的事情,只要把它想成Type即可。具體來說,你的例子中的A是一個引用類型。

0

A是一類可以有屬性/成員變量,其可以是其它類型或數據類型(intstring

但隨後的,在框架一切方面是一種類型(參考或值)。

0

從C#規範第1.3

1.3類型和變量

有兩種類型在C#:值類型參考 類型。值類型變量 直接包含它們的數據,而 引用類型變量存儲 引用其數據,後者 被稱爲對象。參考 類型,兩個變量可能會引用同一個對象 ,因此可能會影響其他變量所引用的對象 對象 上的操作。使用 值類型時,變量各自有 自己的數據副本,並且它是 不可能對1到 的操作影響其他(除 的ref和out參數變量外)。

C#的值類型進一步分爲簡單類型,枚舉 類型,結構類型,空類型,和C#的參考類型進一步劃分 成類類型,接口類型, 陣列類型代表 類型

和int是一個值類型,這也是一個簡單的類型,並且也是符號整型

類{}是引用類型是一個類類型,它是用戶定義的。

相關問題