假設我們有一個鋸齒形陣列數組操作
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方法,但不是鋸齒狀的?並且在哪裏將矩形陣列轉換爲鋸齒狀?
P.S.我試圖在文檔中找到答案,但沒有結果。
的多維數組是不是真正的(大量)支持C#:-( – xanatos