Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में बॉक्सिंग और अनबॉक्सिंग: अंतर


बॉक्सिंग (Boxing): वैल्यू टाइप → ऑब्जेक्ट टाइप (रेफरेंस टाइप)।
अनबॉक्सिंग (Unboxing): ऑब्जेक्ट टाइप → वैल्यू टाइप।

स्टोरेज अंतर

पहलूबॉक्सिंगअनबॉक्सिंग
दिशास्टैक → हीपहीप → स्टैक
कनवर्जनअंतर्निहित (implicit)स्पष्ट (explicit cast)
प्रदर्शनओवरहेड (आवंटन + कॉपी)ओवरहेड (चेक + कॉपी)

उदाहरण

int a = 10;
object obj = a;        // बॉक्सिंग (implicit)
int b = (int)obj;      // अनबॉक्सिंग (explicit cast)

// अनबॉक्सिंग में टाइप मैच होना चाहिए
// int c = (long)obj;  // InvalidCastException!

वास्तविक दुनिया का प्रभाव


            
  1. - C# में TrimStart() और TrimEnd() में अंतर

    TrimStart() अग्रणी (लीडिंग) कैरेक्टर्स हटाता है, जबकि TrimEnd() अनुगामी (ट्रेलिंग) कैरेक्टर्स हटाता है। TrimStart() - अग्रणी कैरेक्टर्स हटाएं using System; class Program { static void Main() { // अग्रणी शून्य हटाएं string str = 0009678.TrimStart(new char[] { 0 }); Consol

  1. - C# में बॉक्सिंग और अनबॉक्सिंग (Boxing and Unboxing)

    बॉक्सिंग (Boxing)बॉक्सिंग वैल्यू टाइप का रेफरेंस टाइप में अंतर्निहित रूपांतरण है।अनबॉक्सिंग (Unboxing)अनबॉक्सिंग बॉक्सिंग द्वारा बनाए गए रेफरेंस टाइप का वैल्यू टाइप में स्पष्ट रूपांतरण है।उदाहरणकोड स्निपेट उदाहरण:// int int myVal = 12; // Boxing object myBoxed = myVal; // Unboxing int myUnBoxed = (i

  1. - Go और Java में अंतर

    GoGo एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। प्रोग्राम पैकेज का उपयोग करके असेंबल किए जाते हैं। यह डायनामिक भाषाओं के समान पैटर्न को अपनाने वाले वातावरण का समर्थन करता है।JavaJava एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। Java काफी तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयोग की जाने व