1、先附上一份值類型和引用類型各自的成員 2、值類型和引用類型的區別 值類型直接存儲其值,引用類型存儲其值的引用 值類型變數都存儲在堆棧中,引用類型在托管堆中分配存儲單元 值類型變數不能為null,必須有確定的值,引用類型被賦值前的值都是null 值類型是從System.ValueType類繼承而來 ...
1、先附上一份值類型和引用類型各自的成員
2、值類型和引用類型的區別
- 值類型直接存儲其值,引用類型存儲其值的引用
- 值類型變數都存儲在堆棧中,引用類型在托管堆中分配存儲單元
- 值類型變數不能為null,必須有確定的值,引用類型被賦值前的值都是null
- 值類型是從System.ValueType類繼承而來的類型
3、類型轉換
- 隱式轉換:從類型A轉換成類型B的轉換可在任何情況下進行,轉換規則簡單,可由編譯器自行完成轉換。
- 顯示轉換:從類型A轉換成類型B的轉換隻能在某些情況下進行,轉換規則較複雜,應進行某些類型的處理。
- 裝箱:將值類型轉換成引用類型的過程。
- 拆箱:將引用類型轉換成值類型的過程。
4、常量
使用關鍵字const創建常量,創建常量時必須設置其初始值,一旦設置不允許修改。
5、字元和字元串
Char只定義一個Unicode字元
String類定義的變數是一個引用類型,可以對String類型的變數進行null賦值。
StringBuilder:可變字元串類,存在與System.Text。
String和StringBuilder的區別:
String對象是不可改變的,每次使用String方法時,都要在記憶體中創建一個新的字元串對象,就需要為該新的對象分配新的空間
StringBuilder對象時可修改的。
6、數組和集合
(1)數組
數組的特點:
- 同一數組中只能存放同一類型變數
- 數組的大小易經定義不可更改
- 數組成員在記憶體連續存放
- 數組下標從0開始
- 從抽象基類Array派生的引用類型
(2)ArrayList類
- ArrayList位於System.Collections命名空間下
- ArrayLisr容量可根據需要擴充,預設是(16)
- 只能是一維形式
(3)Hashtable
存儲在DictionaryEntry中的鍵/值對集合,鍵不能為空引用,值可以。