c# - How to copy a row of values from a 2D array into a 1D array? -


हमारे पास निम्न वस्तु है

  int [,] oGridCells;  

जिसका उपयोग केवल एक निश्चित पहले सूचकांक के साथ किया जाता है

  int iIndex = 5; (इंट iLoop = 0; iLoop & lt; iUpperBound; iLoop ++) के लिए {// 2 डी सरणी iValue = oGridCells [iIndex, iLoop] से मूल्य प्राप्त करें; // iValue} के साथ कुछ करो  

मानों को एक एकमात्र आयाम सरणी (मूल्यों को पाशन के अलावा) में परिवर्तित करने के लिए क्या कोई रास्ता है? P>

मुझे संदेह है कि यह कोड को गति देगा (और यह अच्छी तरह से धीमा कर सकता है) अगर सरणी को केवल एक बार रोका जा रहा है लेकिन अगर सरणी को भारी छेड़छाड़ किया गया था तो एक आयाम सरणी एक बहुआयामी सरणी की तुलना में अधिक कुशल होगी।

सवाल पूछने के लिए मेरा मुख्य कारण यह है कि यह क्या किया जा सकता है और कैसे, इसका उपयोग उत्पादन कोड के लिए किया जाता है।

निम्न कोड 16 बाइट्स (4 ints) को 2- डी सरणी के लिए 1-डी सरणी।

  int [,] oGridCells = {{1, 2}, {3, 4}}; Int [] oResult = नया इंट [4]; सिस्टम। बफर.ब्लॉककॉपी (ओग्रीड सील्स, 0, ऑरिसल्ट, 0, 16);  

आप सही बाइट ऑफसेट प्रदान करके भी सरणी से केवल 1 पंक्ति का चयन कर सकते हैं। यह उदाहरण 3-पंक्ति 2-डी सरणी की मध्य पंक्ति की प्रतिलिपि बनाता है।

  int [,] oGridCells = {{1, 2}, {3, 4}, {5, 6} }; Int [] oResult = नया इंट [2]; सिस्टम। बफर.ब्लॉककॉपी (ओग्रिडसील्स, 8, ऑरिसल्ट, 0, 8);  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -