基礎才是重中之重~值類(lei)(lei)型(xing)和引用類(lei)(lei)型(xing)
在 Visual Basic 中,數(shu)據(ju)類型是基于其類別(bie)實現。 根據特定類型的(de)(de)變量存儲的(de)(de)是自己的(de)(de)數據還是指(zhi)向(xiang)數據的(de)(de)指(zhi)針(zhen),可以對 Visual Basic 數據類型進(jin)行分類。 如果它存(cun)儲的是自己的數據,則它是值(zhi)類(lei)型;如果它保存(cun)指向內存(cun)中其(qi)他位置的數據的指針,則它是引用類(lei)型。
如果數據類型在它自己的內存分配中存儲數據,則該數據類型就是“值類型”。 值類(lei)型包括:
-
所有數字數據(ju)類型
-
Boolean 、Char 和 Date
-
所(suo)有結構,即使其成(cheng)員(yuan)是引用(yong)類型
-
枚舉,因為其基礎類型總是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong
每個結構是值類型,因此,即(ji)使它包含引用類型成員。 因此,值類型 (如 Char 和 Integer 由 .NET framework 結構實現。
可以通過使用保留關鍵字(例如 Decimal)聲明值類型。 也可以使用 New 關鍵字初始化值類型。 這(zhe)對于(yu)值類型有一(yi)個(ge)帶(dai)參數的構造函數的情況尤為有用。 此示例有 Decimal(Int32, Int32, Int32, Boolean, Byte) 構造函數,它從提供的部分生成新的 Decimal 值。
“引用類型”包含指向存儲數據的其他內存位置的指針。 引用類型包括:
-
String
-
所(suo)有數組,即使其元素是值類型(xing)
-
類類型,class
-
委托
類(lei)(lei)是(shi)一(yi)種“引用類(lei)(lei)型”。 因此,諸如 Object 和 String 之類的引用類型都受 .NET Framework 類支持。 請注意,每個(ge)數組(zu)都是一(yi)種引用類型,即(ji)使其成員是值類型。
由于每種引用類型表示基礎 .NET framework 類,則必須使用 關鍵字,在初始化時。 下面的語句初始化一個數組。
var person = new Person{}