मेरा प्रश्न Getting a sub-array from an existing array जैसा है हालांकि मेरे मामले में थोड़ा अलग धारणा बहुत महत्वपूर्ण है - मैं स्मृति प्रतिलिपि का उपयोग नहीं कर सकता।कॉपी किए बिना सी # में किसी मौजूदा सरणी से उप-सरणी कैसे प्राप्त करें?
मैं सरणी Y
कि होगा, X
से 9000 तत्व शामिल हैं X
के सूचकांक 500
से शुरू की जरूरत है चलो कहते हैं कि मैं सरणी 10000 के X
तत्वों करते हैं, लेकिन मैं करने के लिए X
का हिस्सा नकल नहीं करना चाहते नई सरणी Y
, इसलिए मैं Array.Copy, Array.Clone, System.Block.Copy, IENumerables इत्यादि का उपयोग नहीं करना चाहता हूं।के संदर्भ में Y
वास्तव में X[500]
, Y[1]
X[501]
से मेल खाता है, .. ।, Y[9000]
X[9500]
है।
इस प्रकार, उदाहरण के लिए X[100]
का मूल्य बदलना Y[600]
का मूल्य बदल जाएगा। मैं इसे सी # में कैसे प्राप्त कर सकता हूं?
बेशक, आप 'असुरक्षित' संचालन (जैसे सी ++ पॉइंटर्स) का उपयोग कर सकते हैं, लेकिन इसकी अनुशंसा नहीं की जाती है। –
क्या आपने एक साधारण रैपर बनाने पर विचार किया है जो सरणी की तरह कार्य करता है? यह * एक सरणी नहीं होगी, लेकिन यदि आपने रैपर का उपयोग करने के लिए अपना कोड लिखा है तो आप अंतर्निहित बड़ी सरणी के छोटे स्लाइस के लिए रैपर बना सकते हैं। –
* क्यों * आप स्मृति प्रतिलिपि का उपयोग नहीं कर सकते? क्या कोई कारण है कि आप ऑफ़सेट पास नहीं कर सकते (शायद एक रैपर के हिस्से के रूप में, जैसे @ LasseV.Karlsen सुझाता है)? –