值類型

值類型這個概念經常出現在類似C#,JAVA等程式語言的書籍中."值類型"直接將記憶體存儲在棧內,由系統自動釋放資源的數據類型.

與值類型相對應的有引用類型.C#語言中還對應指針類型.

基本介紹

  • 中文名:值類型
  • 學科:C#,JAVA等程式語言
  • 領域:計算機
  • 對應引用類型
值類型,主要功能,中值類型,

值類型

每一種程式語言的值類型都有一些非常細小的不同.下文所指的內容僅僅是.NET框架中C#程式語言的值類型定義.
整體來說C#的值類型有:
整型:Int;
長整型:long;
浮點型:float;
字元型:char;
布爾型:bool;
枚舉:enum;
結構:struct;
在C#中所有的值類型都繼承自:System.ValueType

主要功能

基於值類型的變數直接包含值。將一個值類型變數賦給另一個值類型變數時,將複製包含的值。這與引用類型變數的賦值不同,引用類型變數的賦值只複製對對象的引用,而不複製對象本身。
所有的值類型均隱式派生自SystemValueType。
引用類型不同,不能從值類型派生出新的類型。但與引用類型相同的是,結構也可以實現接口。
與引用類型不同,值類型無法包含null值。但是,可以為 null 的類型功能允許值類型分配給null。
每種值類型均有一個隱式的默認構造函式來初始化該類型的默認值。

中值類型

在使用 C# 中的局部變數之前,必須對其進行初始化。例如,可能聲明未進行初始化的局部變數,如以下示例所示:
int myInt;
那么在將其初始化之前,無法使用此變數。可使用下列語句將其初始化:
myInt = new int();
此語句是下列語句的等效語句:
myInt = 0;
當然,可以用同一個語句進行聲明和初始化,如下面示例所示:
int myInt = new int();
- 或 -
int myInt = 0;
使用new運算符時,將調用特定類型的默認構造函式並對變數賦以默認值。在上例中,默認構造函式將值0賦給了myInt。
對於用戶定義的類型,使用new來調用默認構造函式。例如,下列語句調用了Point結構的默認構造函式:
Point p = new Point();
此調用後,該結構被認為已被明確賦值;也就是說該結構的所有成員均已初始化為各自的默認值。

相關詞條

熱門詞條

聯絡我們