C# türleri iki temel kategoriye ayrılır: değer türleri (veriyi doğrudan depolar) ve referans türleri (yığın üzerindeki veriye bir referans/işaretçi depolar). Bunlar nasıl depolandıkları, kopyalandıkları ve karşılaştırıldıkları açısından farklıdır — bu, dil içinde davranışı etkileyen önemli bir ayrımdır.
İki kategori
Value types → struct, int, double, bool, char, enum, DateTime, decimal
Stored INLINE (stack for locals); copied BY VALUE.
Reference types → class, string, array, object, interface, delegate
Variable holds a REFERENCE to data on the heap; copied BY REFERENCE.
