परिचय
object (System.Object का एलियास) सभी टाइप्स का बेस है। किसी भी वैल्यू/रेफरेंस टाइप को object में असाइन कर सकते हैं (बॉक्सिंग/अनबॉक्सिंग के साथ)।
उदाहरण
using System;
namespace Demo
{
class ObjectClass { public int X = 200; }
class MyApplication
{
static void Main()
{
object obj;
// बॉक्सिंग: int → object
obj = 50;
Console.WriteLine(obj); // 50
Console.WriteLine(obj.GetType()); // System.Int32
Console.WriteLine(obj.ToString()); // "50"
// रेफरेंस टाइप असाइनमेंट
obj = new ObjectClass();
ObjectClass newRef = (ObjectClass)obj; // अनबॉक्सिंग/कास्ट
Console.WriteLine(newRef.X); // 200
}
}
}
आउटपुट
50 System.Int32 50 200
मुख्य बिंदु
- बॉक्सिंग: वैल्यू टाइप → object (हीप आवंटन, कॉपी)।
- अनबॉक्सिंग: object → वैल्यू टाइप (कास्ट, टाइप चेक, कॉपी)।
- रेफरेंस टाइप के लिए केवल रेफरेंस कॉपी होता है (बॉक्सिंग नहीं)।
- बॉक्सिंग/अनबॉक्सिंग प्रदर्शन ओवरहेड जोड़ता है; जेनेरिक्स (
List<int>) से बचें।