इसका अनुकरण करने का केवल एक ही तरीका है।
आपको एक निजी सरणी के साथ अपनी कक्षा बनाने की जरूरत है।
'10 .8 'क्लिक एक bidimensional सरणी के अनुकरण पता चलता है:
एक सरणी के सबसे समान कार्यान्वयन एक इंडेक्सर है।
यदि आप केवल गेटर के साथ इंडेक्सर को लागू करते हैं, तो उपयोगकर्ता केवल तत्वों को पढ़ सकता है, लेकिन उन्हें नहीं लिख सकता है। हालांकि, यदि प्रत्येक तत्व एक ऑब्जेक्ट (संदर्भ प्रकार) है तो आप एक्सेस किए गए ऑब्जेक्ट गुणों के संशोधन को रोक नहीं सकते हैं।
हालांकि
, वहाँ का अनुकरण "रीड-ओनली" वस्तुओं के कई तरीके हैं:
- , एक आवरण वर्ग कि केवल पढ़ने के लिए गुण के रूप में सरणी में प्रत्येक तत्व के गुणों को उजागर करता है बनाएं ताकि वे बदला नहीं जा सकता
- का उपयोग करना आदिम मूल्य प्रकार (जैसे
int
)
- निजी सरणी में मूल तत्व के बजाय निजी सरणी में तत्व की एक प्रति वापस लौट कर परिवर्तन को परास्त, ताकि, वस्तु में किए गए परिवर्तनों नहीं है सरणी में मूल वस्तु को प्रभावित करें।
सी ++ जैसी अन्य भाषाओं में निरंतर मानों के संदर्भ और पॉइंटर्स हैं, लेकिन यह सी # में मौजूद नहीं है।
बहुआयामी सरणी afaik – BrokenGlass
के लिए कुछ भी नहीं बनाया गया है यहां स्टैक ओवरफ्लो पर एक समान प्रश्न से कुछ उत्तर दिए गए हैं - http://stackoverflow.com/questions/678379/is-there-a-read-only-generic-dictionary- उपलब्ध -इन-नेट –
यह बहुत समान नहीं है, @ वृश्चिक-राजकुमार। –