Các kiểu trong C# thuộc hai nhóm cơ bản: value type (lưu trực tiếp dữ liệu) và reference type (lưu một tham chiếu/con trỏ đến dữ liệu trên heap). Chúng khác nhau ở cách được lưu trữ, sao chép và so sánh — một sự phân biệt then chốt ảnh hưởng đến hành vi xuyên suốt ngôn ngữ.
Hai nhóm
Value type → struct, int, double, bool, char, enum, DateTime, decimal
Lưu TRỰC TIẾP (trên stack với biến cục bộ); sao chép THEO GIÁ TRỊ.
Reference type → class, string, array, object, interface, delegate
Biến giữ một THAM CHIẾU đến dữ liệu trên heap; sao chép THEO THAM CHIẾU.
