string[][] Tablero = new string[3][3];
Necesito tener una disposición de matriz de 3x3 para guardar información. ¿Cómo declaro esto en C #?
c#
arrays
multidimensional-array
jagged-arrays
array-initialization
Olivier Rogier
fuente
fuente
Respuestas:
string[,] Tablero = new string[3,3];
También puede instanciarlo en la misma línea con la sintaxis del inicializador de matriz de la siguiente manera:
string[,] Tablero = new string[3, 3] {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} };
fuente
var tablero = new string[3,3];
si está usando C # 3 o posteriornew string[,]
)new string[,]
nada ...string [,] Tablero = {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} }
Probablemente quieras esto:
string[,] Tablero = new string[3,3];
Esto le creará una matriz en forma de matriz donde todas las filas tienen la misma longitud.
La matriz en su muestra es una llamada matriz irregular , es decir, una matriz de matrices donde los elementos pueden ser de diferente tamaño. Una matriz dentada debería crearse de una manera diferente:
string[][] Tablero = new string[3][]; for (int i = 0; i < Tablero.GetLength(0); i++) { Tablero[i] = new string[3]; }
También puede usar inicializadores para llenar los elementos de la matriz con datos:
string[,] Tablero = new string[,] { {"1.1","1.2", "1.3"}, {"2.1","2.2", "2.3"}, {"3.1", "3.2", "3.3"} };
Y en el caso de una matriz irregular:
string[][] Tablero = new string[][] { new string[] {"1.1","1.2", "1.3"}, new string[] {"2.1","2.2", "2.3"}, new string[] {"3.1", "3.2", "3.3"} };
fuente
Acaba de declarar una matriz irregular. Este tipo de matrices puede tener diferentes tamaños para todas las dimensiones. Por ejemplo:
string[][] jaggedStrings = { new string[] {"x","y","z"}, new string[] {"x","y"}, new string[] {"x"} };
En su caso, necesita una matriz regular. Vea las respuestas arriba. Más sobre matrices dentadas
fuente
Supongo que estás buscando esto:
string[,] Tablero = new string[3,3];
La sintaxis de una matriz irregular es:
string[][] Tablero = new string[3][]; for (int ix = 0; ix < 3; ++ix) { Tablero[ix] = new string[3]; }
fuente
Hay 2 tipos de matrices multidimensionales en C #, llamadas
Multidimensional
yJagged
.Para multidimensionales puedes:
Para una matriz irregular, debe escribir un poco más de código:
string[][] jagged = new string[3][]; for (int i = 0; i < jagged.Length; i++) { jagged[i] = new string[3]; }
En resumen, la matriz irregular es más rápida y tiene una sintaxis intuitiva. Para obtener más información, consulte: esta pregunta de Stackoverflow
fuente
string[][] jagged = { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
ovar jagged = new[] { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
prueba esto :
string[,] myArray = new string[3,3];
eche un vistazo a http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx
fuente
string[,] Tablero = new string[3,3];
fuente
string[][]
no es una matriz bidimensional, es una matriz de matrices (una matriz irregular ). Eso es algo diferente.Para declarar una matriz bidimensional, use esta sintaxis:
string[,] tablero = new string[3, 3];
Si realmente desea una matriz dentada , debe inicializarla así:
string[][] tablero = new string[][] { new string[3], new string[3], new string[3] };
fuente
También se puede inicializar una matriz 3x3 (multidimensional) (ya la ha declarado) de esta manera:
string[,] Tablero = { { "a", "b", "c" }, { "d", "e", "f" }, { "g", "h", "i"} };
fuente
Cuando intentas crear una matriz multidimensional, todo lo que necesitas hacer es agregar una coma a la declaración así:
string[,] tablero = new string[3,3].
fuente
también puede escribir el código a continuación.
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
donde 'i' es el número de filas y 'j' es el número de columnas. usando el método 'typeof (..)' puede elegir el tipo de su matriz, es decir, int, string, double
fuente
Hay muchos ejemplos sobre cómo trabajar con matrices en C # aquí .
Espero que esto ayude.
Gracias Damian
fuente