सी # टाइप सिस्टम में तीन प्रकार होते हैं, वे मूल्य प्रकार, संदर्भ प्रकार और सूचक प्रकार हैं। सी # हमें एक वैल्यू टाइप को संदर्भ प्रकार में बदलने की अनुमति देता है, और फिर वैल्यू प्रकारों पर वापस आ जाता है। एक वैल्यू टाइप को रेफरेंस टाइप में कनवर्ट करने का ऑपरेशन बॉक्सिंग कहा जाता है और रिवर्स ऑपरेशन को अनबॉक्सिंग कहा जाता है।
मुक्केबाजी
int Val = 1;
Object Obj = Val; //Boxing
पहली पंक्ति हम एक मान प्रकार वैल बनाया और वैल को एक मान निर्दिष्ट। दूसरी पंक्ति, हमने ऑब्जेक्ट ओब्जे का एक उदाहरण बनाया और ओएलजे को वैल के मूल्य को असाइन किया।उपर्युक्त ऑपरेशन से (ऑब्जेक्ट Obj = i) हमने मान प्रकार के मान को किसी संबंधित संदर्भ प्रकार के मान में परिवर्तित कर देखा है। इन प्रकार के ऑपरेशन को बॉक्सिंग कहा जाता है।
अनबॉक्सिंग
int Val = 1;
Object Obj = Val; //Boxing
int i = (int)Obj; //Unboxing
पहले दो लाइन से पता चलता एक मूल्य प्रकार बॉक्स करने के लिए कैसे। अगली पंक्ति (int i = (int) Obj) ऑब्जेक्ट से वैल्यू टाइप निष्कर्ष निकालती है। यह किसी संदर्भ प्रकार के मान को मान प्रकार के मान में परिवर्तित कर रहा है। इस ऑपरेशन को अनबॉक्सिंग कहा जाता है।
बॉक्सिंग और अनबॉक्सिंग कम्प्यूटेशनल रूप से महंगा प्रक्रियाएं हैं। जब एक वैल्यू टाइप बॉक्स किया जाता है, तो पूरी तरह से नई ऑब्जेक्ट आवंटित और निर्माण की जानी चाहिए, अनबॉक्सिंग के लिए आवश्यक कास्ट भी महंगा कंप्यूटेशनल
स्रोत
2014-03-28 12:20:29
त्वरित उत्तर के लिए धन्यवाद। किसी अन्य जवाब के लिए प्रतीक्षारत! – LaysomeSmith