討論數據類型
.Net中的數據類型是程序員需要認真掌握的基礎知識。.NET 中類型的兩個基本類別是“值類型”和“引用類型”。基元類型、枚舉和結構為值類型。類、字符串、標準模塊、接口、數組和委托為引用類型。
所有的類型要么是值類型,要么是引用類型,但有一種情況例外。根類型 System.Object ,它非常特殊,因為它既不是引用類型也不是值類型,而且不能實例化。因此,類型 Object 的變量可包含值類型或引用類型。
不過無論值類型還是引用類型,它們的聲明方式都是一樣的,當然它們的語義是不同的。
值類型
值類型直接存儲在堆棧上,要么在數組中,要么在另一個類型中。值類型總是直接訪問;不可能創建對值類型的引用。值類型的值不能為空引用,值類型的變量賦值會創建所賦的值的副本。
值類型副本創建意義舉例 Dim i As Int32 = 10
Dim j As Int32 = i
j = 20 'i=10
基礎類型 什么是基礎類型呢?簡單的講就是如果一個類型的值是可以使用常數來描述的,該類型就是基礎類型。當表達式的操作數均為基元類型常數時,編譯器是可以在編譯時計算表達式的。這種表達式被稱為常數表達式。基本類型總是有初始值的。
VB.Net定義的基礎類型:整數(包括字節),浮點、布爾、日期、字符和字符串。
分類 類型 存儲分配 整數值類型 Byte 1 Short 2 Integer 4 Long 8 浮點值類型 Single 4 Double 8 Decimal 16 布爾 Boolean 2 日期 Date 8 字符 Char 2 字符串 String 取決于實現平臺
如果大家有心的話,可以從Boolean和Char的分配空間看出:.Net是基于Unicode來表示數據的,所以在.Net中英文字符和中文字符所占的空間
|