Les types C# se divisent en deux catégories fondamentales : les types valeur (stockent les données directement) et les types référence (stockent une référence/pointeur vers des données sur le tas). Ils diffèrent dans la façon dont ils sont stockés, copiés et comparés — une distinction cruciale qui affecte le comportement dans tout le langage.
Les deux catégories
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.
