मान लें कि हम एक दांतेदार सरणीसरणी संचालन
int[][] a = { new[] { 1, 2, 3, 4 }, new[] { 5, 6, 7, 8 }, new[] { 9, 10, 11, 12 } };
दूसरी पंक्ति और दूसरे स्तंभ का योग की राशि प्राप्त करने के लिए है, यह दोनों कोड लाइनों क्रमशः लिखा जा सकता है:
int rowSum = a[1].Sum();
int colSum = a.Select(row => row[1]).Sum();
लेकिन अगर हम 2-आयामी सरणी की परिभाषा है
int[,] a = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
ऊपर बताए गए कोड काम नहीं करेगा compiller त्रुटियों के कारण:
Error 1 Wrong number of indices inside []; expected 2
Error 2 'int[*,*]' does not contain a definition for 'Select' and no extension method 'Select' accepting a first argument of type 'int[*,*]' could be found (are you missing a using directive or an assembly reference?)
तो, सवाल: n आयामी सरणियों के साथ LINQ तरीकों का उपयोग कैसे करें, लेकिन नहीं दांतेदार वाले? और जहां आयताकार सरणी को जंजीर में बदलने की विधि है?
पीएस मैंने दस्तावेज में जवाब खोजने की कोशिश की, लेकिन बिना परिणाम के।
बहु आयामी सरणी नहीं वास्तव में (बड़े पैमाने पर) सी # में :-( – xanatos