] संरचनाओं की सूचियों के साथ काम करते समय, एक विशिष्ट समस्या उत्पन्न हो सकती है जब किसी व्यक्तिगत तत्व के मूल्य को बदलने का प्रयास किया जाता है। यह लेख इस मुद्दे के पीछे के अंतर्निहित कारण की पड़ताल करता है और एक संभावित समाधान प्रदान करता है।
जैसे कि मूल्य प्रकार जैसे संरचनाओं के साथ काम करना, प्रत्येक मान प्रकार चर या संदर्भ संरचना के एक अलग उदाहरण का प्रतिनिधित्व करता है। एक सूची तत्व से एक नए चर के लिए एक मान असाइन करना, जैसे कि संरचना obitem = mylist [1];, कॉपी किए गए सदस्यों के साथ एक नया उदाहरण बनाता है। Obitem में किए गए किसी भी संशोधन से MyList में मूल तत्व को प्रभावित नहीं किया जाएगा। एक नए चर को मान प्रकार असाइन करते समय या इसे एक तर्क के रूप में पारित करते हुए, एक नया उदाहरण बनाया जाता है और मान कॉपी किए जाते हैं। यह संदर्भ प्रकारों जैसे कि कक्षाओं के विपरीत है, जहां एक संदर्भ में संशोधन मूल वस्तु को प्रभावित करेंगे।
संरचनाओं की सूची में व्यक्तिगत तत्वों को संशोधित करने के मुद्दे को संबोधित करने के लिए, एक दृष्टिकोण एक इंटरफ़ेस को परिभाषित करना है कि संरचना का उपयोग करने के लिए संरचना को लागू करने और उस इंटरफ़ेस का उपयोग करें। यह एक इंटरफ़ेस संदर्भ के माध्यम से वास्तविक संरचना को संशोधित करने की अनुमति देता है, जो बॉक्सिंग ऑब्जेक्ट की ओर इशारा करता है। { स्ट्रिंग नाम {सेट; } } पब्लिक स्ट्रक्चर मिस्ट्रक्ट: imestructmodifier { सार्वजनिक स्ट्रिंग नाम {प्राप्त करें; तय करना; } } सूची ओबिस्ट = नई सूची (); oblist.add (नया मिस्ट्रक्ट ("एबीसी")); oblist.add (नया मिस्ट्रक्ट ("def")); MyStruct Temp = (MyStruct) OBLIST [1]; temp.name = "Gishu"; foreach (mystruct s in oblist) // "abc", "def" { कंसोल.ड्रिटलाइन (s.name); } ImestructModifier temp2 = OBLIST [1] imestructModifier के रूप में; temp2.name = "अब गिशु"; foreach (MyStruct s in ObliSt) // "abc", "अब गिशु" { कंसोल.ड्रिटलाइन (s.name); } यह विधि इंटरफ़ेस संदर्भ के माध्यम से सूची में मूल संरचना को संशोधित करने की अनुमति देती है। संरचनाएं प्रदर्शन लाभ प्रदान करती हैं और तब पसंद की जाती हैं जब अपरिवर्तनीयता या छोटी मेमोरी पदचिह्न वांछित होते हैं। हालाँकि, यदि किसी सूची में तत्वों को संशोधित करना एक आवश्यकता है, तो कक्षाएं एक अधिक उपयुक्त विकल्प हो सकती हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3