Οι τύποι της C# εμπίπτουν σε δύο θεμελιώδεις κατηγορίες: τύποι τιμής (αποθηκεύουν τα δεδομένα απευθείας) και τύποι αναφοράς (αποθηκεύουν μια αναφορά/δείκτη σε δεδομένα στο heap). Διαφέρουν στο πώς αποθηκεύονται, αντιγράφονται και συγκρίνονται — μια κρίσιμη διάκριση που επηρεάζει τη συμπεριφορά σε όλη τη γλώσσα.
Οι δύο κατηγορίες
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.
