值類型對象有兩種表示形式:未裝箱/已裝箱;引用類型總是處於已裝箱形式
值類型從System.ValueType派生,其提供了與System.Object相同的方法,重寫了Equals方法和GetHashCode方法
值類型不能作為基類,因此不應在值類型裡定義虛/抽象方法,需要保持隱式密封
引用類型變量包含堆中對象的地址,創建時默認初始化為null;值類型變量總是包含其基礎類型的一個值,所有成員都初始化為0
將值類型變量賦值給另一個值類型變量,會執行逐字段的複製;而一個引用變量賦給另一個引用變量,則只複製內存地址
由於未裝箱的值類型不在堆上分配,一旦定義了該類型的一個實例方法不再活動,為它們分配的內存就會馬上被釋放,而不是像引用類型一樣等待回收