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.
