2012-03-23 15 views
9

क्या मैं समझता हूँ unboxing है जब मैं एक वस्तु लेने के लिए और ValueType करने के लिए इसे Unbox MSDN उदाहरण की तरह:क्या मैं स्ट्रिंग को अनबॉक्स कर सकता हूं?

int i = 123; 
object o = i; 
o = 123; 
i = (int)o; // unboxing 

तो मैं बस, सोच रहा था एक स्ट्रिंग unboxed जा सकता है? मुझे लगता है, नहीं, ऐसा नहीं हो सकता क्योंकि वैल्यूटाइप है जो स्ट्रिंग का प्रतिनिधित्व कर सकता है। क्या मैं सही हू?

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/6423452/boxing-and-unboxing-in-int-and-string –

+2

@ बाबून मैंने पोस्ट करने से पहले उस प्रश्न को पढ़ा। मुझे लगता है कि मेरा सवाल इस तथ्य से अधिक सख्त था कि एक स्ट्रिंग को अनबॉक्स नहीं किया जा सकता है। दूसरा मेरे दृष्टिकोण में अधिक सामान्य है =) वैसे भी साफ रखने के लिए धन्यवाद ;-) –

उत्तर

16

आप सही हैं। एक स्ट्रिंग को अनबॉक्स नहीं किया जा सकता है क्योंकि केवल मान प्रकार मुक्केबाजी और अनबॉक्सिंग के अधीन होते हैं; एक स्ट्रिंग एक संदर्भ प्रकार है।

+0

धन्यवाद! मैं कुछ दिन पहले उलझन में था और इसके बारे में पढ़ना शुरू कर दिया था, इसलिए यह सिर्फ एक नियंत्रण सवाल था इसलिए मुझे मिल गया ;-) धन्यवाद! –

+0

तो एक स्ट्रिंग को न तो बॉक्स किया जा सकता है क्योंकि यह उदाहरण पहली पंक्ति में कहता है: http://johnbarshinger.wordpress.com/2008/07/02/c-boxing-and-unboxing-cast-as-convert-parse-tryparse/ –

+0

@ साइमनएडस्ट्रॉम: नहीं। वह उदाहरण गलत है। – Ryan

संबंधित मुद्दे