"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C# बॉक्सिंग और अनबॉक्सिंग: हमें कब और क्यों चाहिए?

C# बॉक्सिंग और अनबॉक्सिंग: हमें कब और क्यों चाहिए?

2025-01-29 को प्रकाशित
ब्राउज़ करें:297

C# Boxing and Unboxing: When and Why Do We Need Them?
]

परिचय

C#में, लोडिंग और बॉक्सिंग समन्वित मूल्यों और संदर्भ प्रकारों के विभिन्न व्यवहारों के लिए एक आवश्यक तंत्र है। हालांकि, उनके उद्देश्य और उपयोग के मामले प्रोग्रामर को भ्रमित कर सकते हैं। यह मार्गदर्शिका स्पष्ट करती है कि ये अवधारणाएं महत्वपूर्ण क्यों हैं और व्यावहारिक अनुप्रयोगों के उदाहरण प्रदान करती हैं।

बॉक्सिंग और बॉक्सिंग का महत्व

] मूल्य प्रकार (जैसे कि लघु और int) सीधे अपने डेटा को चर में संग्रहीत करते हैं। इसके बजाय, संदर्भ प्रकार मेमोरी में अन्य पदों में अंतर्निहित वस्तुओं को संदर्भित करता है।

] यह इसे संदर्भ प्रकार के लिए डिज़ाइन किए गए डेटा संरचना में संचालन मूल्य के प्रकार को आसानी से संग्रहीत और संचालित करने की अनुमति देता है।

मुक्केबाजी और मुक्केबाजी के लिए आवेदन परिदृश्य ] इन सेटों को मान प्रकार को संग्रहीत करने के लिए पैक करने की आवश्यकता है, जैसा कि ArrayList उदाहरण में दिखाया गया है:

] ऑब्जेक्ट objshort = s; // पैकिंग

आधुनिक में

के युग में, मुक्केबाजी की मांग कम हो गई है। हालाँकि, यह अभी भी विशिष्ट परिदृश्यों में महत्वपूर्ण है:

"

डबल ई = 2.718281828459045; int ee = (int) e; ] नीचे मान की तुलना करने के लिए, आपको स्पष्ट रूप से रूपांतरण और स्पष्ट रूप से रूपांतरण की आवश्यकता है:

डबल ई = 2.718281828459045; ऑब्जेक्ट ओ = ई; // पैकिंग int ee = (int) (डबल) o; ] यदि मान प्रकार पारित होने से पहले मान प्रकार पैक किया जाता है, तो विधि में पैरामीटर का कोई भी संशोधन मूल मान को प्रभावित नहीं करेगा।

short s = 25;
object objshort = s;  // 装箱

डबल ई = 2.718281828459045; वस्तु o1 = e; वस्तु o2 = e; कंसोल। ] इसके बजाय, जब लोड हो रहा है (संदर्भ प्रकार), मूल ऑब्जेक्ट का संदर्भ बनाया जाएगा। यह व्यवहार अंतर बॉक्स स्थापना मान के गणना परिणामों को प्रभावित करेगा:

  • [संरचना | बिंदु पी = नया बिंदु (1, 1); वस्तु ओ = पी; p.x = 2; Console.writeline ((((((((((((()))))) .x); // आउटपुट: 1 (यदि यह एक संरचना है)/ 2 (यदि यह वर्ग है) ]
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3