Exportar (0) Imprimir
Expandir todo

Matrices rectangulares

Visual Studio 2005

Además de las matrices escalonadas, Visual J# también admite las matrices rectangulares. El tipo de elemento y la forma de una matriz, incluido el número de dimensiones que tiene, forman parte de su tipo. Sin embargo, el tamaño de una matriz, representado por la longitud de sus dimensiones, no forma parte de su tipo.

Esta diferencia es más notable en la sintaxis del lenguaje Visual J#, puesto que la longitud de cada dimensión se especifica en la expresión de creación de la matriz y no en el tipo de la matriz. Por ejemplo, la declaración int[,,] arr = new int[1, 1, 2]; es un tipo de matriz de int[,,] y una expresión de creación de matriz de new int[1, 1, 2].

También es posible mezclar matrices rectangulares y escalonadas. Por ejemplo, int [,][] mixedArr = new int[,][] {{{1,2}}, {{2,3,4}}}; es una matriz bidimensional rectangular mixta de matrices escalonadas. La matriz es rectangular de dimensiones [2,1], donde cada elemento es una matriz de enteros unidimensional. La longitud de la matriz en mixedArr[0, 0] es 2, y en mixedArr[1, 0] es 3.

En los siguientes ejemplos se muestra cómo se pueden crear matrices rectangulares en Visual J#.

// vjc_rect_array.jsl
public class MyClass
{
    public static void main(String [] args)
    {
        // 2-D rectangular array; explicit creation.
        int[,] arr = new int[2, 2];
        arr[0, 0] = 1;
        arr[0, 1] = 2;
        arr[1, 0] = 3;
        arr[1, 1] = 4;

        // 2-D rectangular array;
        // Explicit creation with initializer list.
        int[,] arr2 = new int[,] {{1, 2}, {3, 4}};

        // 2-D rectangular array;
        // Shorthand: creation with initializer list.
        int[,] arr3 = {{1, 2}, {3, 4}};

        // 3-D rectangular array; explicit creation.
        int[,,] arr4 = new int[1, 1, 2];
        arr4[0, 0, 0] = 1;
        arr4[0, 0, 1] = 2;

        // 3-D rectangular array;
        // Explicit creation with initializer list.
        int[,,] arr5 = new int [,,] 
            {{{1,2,3},{1,2,3}},{{1,2,3},{1,2,3}}};

        // Mix rectangle & jagged arrays; explicit creation using
        // new. Creates the same array as the above example.
        int [,][] mixedArr = new int[,][] {{{1,2}}, {{2,3,4}}};
        
        // Mixed array dynamic creation
        int [,][] mixedArr2 = new int[2,1][];
        mixedArr2[0,0] = new int[]{1,2};
        mixedArr2[1,0] = new int[]{2,3,4};
    }
}

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft