C# typen vallen in twee fundamentele categorieën: value types (slaan de gegevens direct op) en reference types (slaan een referentie/pointer naar gegevens op de heap op). Ze verschillen in hoe ze worden opgeslagen, gekopieerd en vergeleken — een cruciale onderscheiding die het gedrag in de hele taal beïnvloedt.
De twee categorieën
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.
