public byte[][,] Shapes =
{
{
{1,1},
{1,1}
},
{
{1},
{1},
{1},
{1}
},
{
{0,0,1},
{1,1,1}
}
};
Recibo este error: "Los inicializadores de matriz solo se pueden utilizar en una variable o inicializador de campo. En su lugar, intente utilizar una nueva expresión".¿Es incorrecta esta inicialización de matriz?
que podía hacer esto ...
public class Shape
{
public byte[][,] Shapes;
public Shape()
{
Shapes = new byte[3][,];
Shapes[0] = new byte[2, 2];
Shapes[0][0, 0] = 1;
Shapes[0][0, 1] = 1;
Shapes[0][1, 0] = 1;
Shapes[0][1, 1] = 1;
Shapes[1] = new byte[1, 4];
Shapes[1][0, 0] = 1;
Shapes[1][0, 1] = 1;
Shapes[1][0, 2] = 1;
Shapes[1][0, 3] = 1;
}
}
Pero eso hace que sea muy difícil añadir más formas a mi programa.
¿Mi inicializador está equivocado? Y si no puedo hacerlo de esta manera, ¿cuál es la forma más fácil de hacerlo?
Tenga en cuenta, por supuesto, para cualquier persona que pueda encontrarse con esto y que aún no lo sepa, que para cualquier elemento adicional más allá de estas 3 filas, el 3 se incrementa. Cuando lo vi por primera vez, pensé que tal vez el 3 era para la cantidad de elementos (ranuras disponibles) en cada matriz, comenzando en 0. No lo es. Es por el número de filas, empezando por 1. – vapcguy