परिचय
रेफरेंस टाइप्स वास्तविक डेटा नहीं, बल्कि हीप पर ऑब्जेक्ट का रेफरेंस संग्रहीत करते हैं। बिल्ट-इन रेफरेंस टाइप्स:
1. Object टाइप
- CTS (Common Type System) में सभी टाइप्स का अल्टीमेट बेस क्लास।
- किसी भी वैल्यू/रेफरेंस टाइप को असाइन कर सकते हैं (बॉक्सिंग/अनबॉक्सिंग)।
object obj; obj = 250; // बॉक्सिंग (int → object) obj = "Hello"; // रेफरेंस असाइनमेंट int i = (int)obj; // अनबॉक्सिंग (कास्ट आवश्यक)
2. Dynamic टाइप
- कंपाइल-टाइम टाइप जांच बायपास; रनटाइम पर रिजॉल्व होता है।
- COM इंटरऑप, डायनामिक भाषाओं, रिफ्लेक्शन सरलीकरण के लिए।
dynamic d = 100; d = "Hello"; // कंपाइल OK, रनटाइम पर स्ट्रिंग Console.WriteLine(d.Length); // 5 (रनटाइम बाइंडिंग)
3. String टाइप
System.Stringका एलियासstring।- इम्यूटेबल (अपरिवर्तनीय)।
- यूनिकोड वर्णों का अनुक्रम।
String s = "Welcome!"; string s2 = "Hello";
तुलना
| विशेषता | object | dynamic | string |
|---|---|---|---|
| टाइप जांच | कंपाइल टाइम | रनटाइम | कंपाइल टाइम |
| बॉक्सिंग | वैल्यू टाइप के लिए आवश्यक | स्वचालित | N/A |
| इम्यूटेबल | नहीं | नहीं | हाँ |
| उपयोग | सामान्य ऑब्जेक्ट | डायनामिक परिदृश्य | टेक्स्ट डेटा |