Asumamos que tenemos una matriz escalonadaoperaciones de matriz con matriz n-dimensional utilizando LINQ (C#)
int[][] a = { new[] { 1, 2, 3, 4 }, new[] { 5, 6, 7, 8 }, new[] { 9, 10, 11, 12 } };
Para obtener una suma de segunda fila y la suma de la segunda columna, se puede escribir ambas líneas de código, respectivamente:
int rowSum = a[1].Sum();
int colSum = a.Select(row => row[1]).Sum();
Pero si tenemos la definición de la matriz de 2 dimensiones
int[,] a = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
el código antes citado no funcionará debido a errores 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?)
Por lo tanto, la pregunta: ¿Cómo utilizar métodos de LINQ con matrices n-dimensional, pero no los irregulares? ¿Y dónde es un método para convertir la matriz rectangular en irregular?
P.S. Traté de encontrar la respuesta en la documentación, pero sin resultado.
matrices multidimensionales no son verdad (ampliamente) apoyada en C# :-( – xanatos