值類型的例子包括整數型別(如 int、float、double)、字元型別(char)、列舉型別(enum)和結構體(struct)等。
引用類型的例子包括類別、介面、委託和陣列等。
記憶體位置: 值類型資料儲存在堆疊
stack上,引用類型的參考儲存在堆疊stack上,但實際資料儲存在堆積heap上。複製行為: 值型別的賦值是實際資料的複製(預設是
0),而引用型別的賦值是對引用的複製(預設是null)。傳遞方式: 值類型在傳遞時是按值傳遞,引用類型在傳遞時是按引用傳遞。但要注意,引用類型的引用本身也是值,傳遞引用時是按引用的值傳遞。
生存期: 值類型的生存期通常與其聲明的作用域相同,而引用類型的生存期可能會更長,直到沒有任何引用指向它時才會被垃圾回收
在使用值類型和引用類型時,需要根據特定的需求和效能考慮選擇合適的類型。值類型通常更輕量,而引用類型更靈活,具有動態分配記憶體的能力。