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.
