C#-Typen fallen in zwei grundlegende Kategorien: Value Types (speichern die Daten direkt) und Reference Types (speichern eine Referenz/einen Zeiger auf Daten im Heap). Sie unterscheiden sich in der Speicherung, dem Kopieren und dem Vergleichen — eine entscheidende Unterscheidung, die das Verhalten in der gesamten Sprache beeinflusst.
The two categories
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.
