Aina za C# zinaangukia katika makundi mawili ya msingi: value types (huhifadhi data moja kwa moja) na reference types (huhifadhi reference/pointer inayoelekeza data iliyoko kwenye heap). Zinatofautiana katika jinsi zinavyohifadhiwa, kunakiliwa, na kulinganishwa — tofauti muhimu inayoathiri tabia katika lugha nzima.
Makundi mawili
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.
