close

實質型別有以下這些

1  

 

實值型別的執行個體是儲存在Stack中。與參考型別比,因為該區塊就直接包含資料,會有較佳的執行效率。

在.NET中,所有實值型別都在16個位元組以下。

實值型別可分成以下三種:

1.內建實值型別,如 Int16 、 Boolean 、 Byte 、 Guid 、 DateTime 

(Int16 、 Int32 、 Byte 、 Boolean 、 DateTime 是內建實值型別,short, int,bool,byte 是別名)

2.自訂型別,如 結構,結構是在這些分類之內:

 (內建的數字類型 (Numeric Type) 都是結構 )

3.列舉型別,如 DayOfWeek 、 ConsoleColor

  

注意,

除了 object 和 string 以外的所有型別,都視為簡單型別

型別關鍵字和它們的別名可互換。 例如:

int x = 123;
System.Int32 x = 123;
 
 
 

1.所有實值型別都是自 System.ValueType 隱含衍生而來。

2.無法從實值型別衍生新型別。

(實值類型是「密封」(Sealed) 的類,不能衍生自 System.Int32結構不能繼承自任何使用者定義的類別或結構,

只能繼承自 System.ValueType 但結構可以實作一個或多個介面。 結構類型可以轉型為介面類型,這會導致 Boxing 作業執行)

3.不同於參考型別,實值型別不允許 null 值。 不過,可為 Null 的型別 功能允許實值型別指派給 null。(要特別宣告成Nullable這個泛型類別)

4.每個實值型別都有隱含預設建構函式 (Constructor),所以宣告執行個體時,可以不需要使用New

5.實值型別都必需明確初始化之後才可以使用

6.若要判斷變數是否已經指派數值,可將變數宣告成 Nullable 泛型類別,再使用 HasValue 偵測。

 

 

 

參考來源:

http://vito-dotnet.blogspot.tw/2011/12/blog-post.html

http://www.dotblogs.com.tw/h091237557/archive/2014/05/26/145247.aspx

http://xingulin.tumblr.com/post/48493582986/ref-type-vs-val-type

內建類型資料表

MSDN 實質型別

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小豆干 的頭像
    小豆干

    小豆干就是我唷

    小豆干 發表在 痞客邦 留言(0) 人氣()