Операции массива с N-мерным массивом с использованием LINQ (C #)

Предположим, у нас есть язванный массив

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?)

Итак, вопрос: как использовать методы Linq с N -мерные массивы, но не завесывают? И где метод преобразования прямоугольного массива для зазубренения?

P.S. Я пытался найти ответ в документации, но без результата.

9
задан Lev Sharansky 6 September 2011 в 11:10
поделиться