Comment puis-je déclarer un tableau de chaînes à deux dimensions?
-
26-09-2019 - |
Question
string[][] Tablero = new string[3][3];
Je dois avoir un arrangement de matrice de 3x3 pour enregistrer des informations à. Comment puis-je déclarer cela en C #?
La solution
string[,] Tablero = new string[3,3];
Vous pouvez également instancier dans la même ligne avec tableau syntaxe initialiseur comme suit:
string[,] Tablero = new string[3, 3] {{"a","b","c"},
{"d","e","f"},
{"g","h","i"} };
Autres conseils
Vous voulez sans doute ceci:
string[,] Tablero = new string[3,3];
Cela vous créer un tableau de type matrice où toutes les lignes ont la même longueur.
Le tableau dans votre échantillon est un soi-disant
Vous venez de déclarer un tableau en dents de scie. Ce genre de tableaux peuvent avoir des tailles différentes pour toutes les dimensions. Par exemple: Dans votre cas, vous avez besoin réseau régulier. Voir les réponses ci-dessus.
En savoir plus sur les tableaux déchiquetés string[][] jaggedStrings = {
new string[] {"x","y","z"},
new string[] {"x","y"},
new string[] {"x"}
};
Je suppose que vous cherchez ceci:
string[,] Tablero = new string[3,3];
La syntaxe pour un réseau en dents de scie est:
string[][] Tablero = new string[3][];
for (int ix = 0; ix < 3; ++ix) {
Tablero[ix] = new string[3];
}
Il existe 2 types de tableaux multidimensionnels en C #, appelés Multidimensional
et Jagged
.
Pour multidimensionnelle, vous pouvez par:
string[,] multi = new string[3, 3];
Pour en dents de scie tableau, vous devez écrire un peu plus de code:
string[][] jagged = new string[3][];
for (int i = 0; i < jagged.Length; i++)
{
jagged[i] = new string[3];
}
En bref tableau en dents de scie est à la fois plus rapide et a une syntaxe intuitive. Pour plus d'informations, voir: cette question Stackoverflow
essayez ceci:
string[,] myArray = new string[3,3];
un coup d'oeil sur http://msdn.microsoft.com/en- nous / bibliothèque / 2yd9wwz4.aspx
string[,] Tablero = new string[3,3];
string[][]
est pas un tableau à deux dimensions, il est un tableau de tableaux ( array en dents de scie ). C'est quelque chose de différent.
Pour déclarer un tableau à deux dimensions, utilisez la syntaxe suivante:
string[,] tablero = new string[3, 3];
Si vous voulez vraiment un tableau en dents de scie, vous devez initialiser comme ceci:
string[][] tablero = new string[][] { new string[3],
new string[3],
new string[3] };
Un tableau 3x3 (multidimensionnelle) peut également être initialisé (vous avez déjà déclarée) comme ceci:
string[,] Tablero = {
{ "a", "b", "c" },
{ "d", "e", "f" },
{ "g", "h", "i"}
};
Lorsque vous essayez de créer un tableau multidimensionnel tout ce que vous devez faire est d'ajouter une virgule à la déclaration comme ceci:
string[,] tablero = new string[3,3].
vous pouvez également écrire le code ci-dessous.
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
où « i » est le nombre de rangées et « j » est le nombre de colonnes. en utilisant le 'typeof (..)' méthode, vous pouvez choisir le type de votre tableau dire int, string, double