c# - Get sub array from a 3D array -


यदि मेरे पास एक सरणी है:

  int [,,] mainArray = new int [ 10,10,3];  

मैं कैसे एक उप सरणी प्राप्त कर सकता हूँ:

  int [] sub = mainArray [0,1]; // दुर्भाग्य से यह काम नहीं करता  

जहां उप में 3 तत्व शामिल होंगे

  उप [0] = मुख्य अर्रे [0,1,0]; उप [1] = मुख्य अर्रे [0,1,1]; उप [2] = मुख्य अर्रे [0,1,2];  

ऐसा करने के लिए एक विधि लिखना आसान होगा, लेकिन क्या ऐसा करने में एक तरह से बनाया गया है?

मुझे लगता है कि आप इस तरह से एक एक्सटेंशन विधि का उपयोग कर सकते हैं:

  सार्वजनिक स्थैतिक वर्ग MyExtensions {सार्वजनिक स्थैतिक int [] GetValues ​​(यह ऐरे स्रोत, int X, int y) {var लंबाई = source.GetUpperBound (2); Var मान = नया int [लंबाई + 1]; (इंट आई = 0; आई & lt; लंबाई + 1; आई ++) के लिए (मान [आई] = (इंट) स्रोत। गेट वैल्यू (एक्स, वाई, आई); } वापसी मूल्य; }}  

उपयोग:

  int [,] mainArray = नया इंट [10,10,3]; Int [] sub = mainArray.GetValues ​​(0, 1);  

Comments