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.
