2012-04-30 13 views
6

यह एक बहुत ही बुनियादी सवाल होना चाहिए, लेकिन मुझे एक निश्चित उत्तर खोजने में थोड़ा परेशानी हो रही है।सी # में Array.ToArray() एक डीईईपी प्रतिलिपि करता है?

जब आपके पास मूल्यों की एक सरणी है और आप .ToArray() विधि का उपयोग करते हैं तो यह सरणी की गहरी या उथली प्रतिलिपि बनाता है?

+0

मैं वास्तव में इसके लिए एक त्वरित परीक्षण लिखने से पहले इंटरनेट पर इसका उत्तर ढूंढ रहा था (जो गुगलिंग के जितना जल्दी नहीं है)। मुझे लगता है कि प्रश्न पर -1 रेटिंग का कारण सिर्फ इसलिए है कि आप गहरी प्रतिलिपि, शैलो कॉपी, और ऑब्जेक्ट रेफरेंसिंग (जो आप शायद उथली प्रतिलिपि के रूप में संदर्भित कर रहे हैं) के बीच गलतफहमी कर रहे हैं। – capn

उत्तर

13

सं

आप आसानी से परीक्षण करने के लिए एक छोटा सा प्रोग्राम लिखने कर इसकी पुष्टि कर सकते हैं।

+0

+1। ध्यान दें कि यदि यह संरचना की सरणी है तो यह मानों की प्रतिलिपि बनाएगी (अभी भी उथल-पुल प्रतिलिपि)। –

+0

मैंने अभी एक स्ट्रिंग के साथ एक छोटा प्रोग्राम बनाया है [] जिसमें 3 तत्व हैं, फिर मैंने = origArray.ToArray() के साथ एक नई सरणी बनाई है, फिर मैंने नई सरणी में एक तत्व बदल दिया और दोनों सरणी मुद्रित किए और वे अलग-अलग, इसका मतलब यह नहीं है कि यह एक गहरी प्रति है? मैं क्या देख रहा हूँ? – hrh

+2

सी # में गहरी प्रतिलिपि बनाने के लिए कोई रास्ता नहीं बनाया गया है, इसलिए शायद आपकी "गहरी" की परिभाषा असामान्य है। नए प्रश्न पूछने पर विचार करें "गहरी प्रतिलिपि क्या है, यहां मेरी समझ है ..." (स्पष्ट रूप से यह समझाना न भूलें कि आप इसे कैसे समझते हैं ताकि अन्य लोग आपकी समझ के बारे में पुष्टि कर सकें कि आपकी समझ का कौन सा हिस्सा गलत है या गैर पारंपरिक है) । –

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