परिचय
System.Object (एलियास object) .NET में सभी टाइप्स का अल्टीमेट बेस क्लास है। हर टाइप (वैल्यू, रेफरेंस, यूजर-डिफाइन्ड) प्रत्यक्ष या अप्रत्यक्ष रूप से इससे इनहेरिट करता है।
मुख्य मेथड्स (Object पर परिभाषित)
| मेथड | विवरण |
|---|---|
ToString() | स्ट्रिंग प्रतिनिधित्व (ओवरराइड करें)। |
Equals(obj) | समानता जांच (ओवरराइड करें)। |
GetHashCode() | हैश कोड (हैश टेबल के लिए)। |
GetType() | रनटाइम Type ऑब्जेक्ट लौटाता है। |
MemberwiseClone() | शैलो कॉपी बनाता है। |
बॉक्सिंग और अनबॉक्सिंग
using System;
namespace Demo
{
class ObjectClass { public int X = 56; }
class MyApplication
{
static void Main()
{
object obj;
// बॉक्सिंग: वैल्यू टाइप → object
obj = 96;
Console.WriteLine(obj); // 96
Console.WriteLine(obj.GetType()); // System.Int32
// अनबॉक्सिंग: object → वैल्यू टाइप (कास्ट आवश्यक)
int val = (int)obj;
// रेफरेंस टाइप
obj = new ObjectClass();
ObjectClass newRef = (ObjectClass)obj;
Console.WriteLine(newRef.X); // 56
}
}
}
नोट
- बॉक्सिंग: वैल्यू टाइप को हीप पर ऑब्जेक्ट में रैप करना (ओवरहेड)।
- अनबॉक्सिंग: स्पष्ट कास्ट; प्रकार मेल न खाने पर
InvalidCastException। - जेनेरिक्स (
List<T>) बॉक्सिंग से बचाते हैं।