تنقسم أنواع 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.
