string[][] Tablero = new string[3][3];
情報を保存するには、3x3の配列が必要です。 C#でこれを宣言するにはどうすればよいですか?
string[,] Tablero = new string[3,3];
次のように配列初期化構文を使用して、同じ行でインスタンス化することもできます。
string[,] Tablero = new string[3, 3] {{"a","b","c"},
{"d","e","f"},
{"g","h","i"} };
おそらくこれが必要です:
string[,] Tablero = new string[3,3];
これにより、すべての行が同じ長さの行列のような配列が作成されます。
サンプルの配列は、いわゆる jagged array 、つまり要素のサイズが異なる配列の配列です。ギザギザの配列は別の方法で作成する必要があります。
string[][] Tablero = new string[3][];
for (int i = 0; i < Tablero.GetLength(0); i++)
{
Tablero[i] = new string[3];
}
イニシャライザを使用して、配列要素にデータを入力することもできます。
string[,] Tablero = new string[,]
{
{"1.1","1.2", "1.3"},
{"2.1","2.2", "2.3"},
{"3.1", "3.2", "3.3"}
};
そして、ギザギザの配列の場合:
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"}
};
ギザギザの配列を宣言しました。そのような種類の配列は、すべての次元で異なるサイズを持つことができます。例えば:
string[][] jaggedStrings = {
new string[] {"x","y","z"},
new string[] {"x","y"},
new string[] {"x"}
};
あなたの場合、通常の配列が必要です。上記の回答をご覧ください。 ギザギザの配列の詳細
あなたはこれを探していると思います:
string[,] Tablero = new string[3,3];
ギザギザの配列の構文は次のとおりです。
string[][] Tablero = new string[3][];
for (int ix = 0; ix < 3; ++ix) {
Tablero[ix] = new string[3];
}
C#には、Multidimensional
とJagged
と呼ばれる2種類の多次元配列があります。
多次元の場合:
string [、] multi = new string [3、3];
ギザギザの配列の場合、もう少しコードを書く必要があります。
string[][] jagged = new string[3][];
for (int i = 0; i < jagged.Length; i++)
{
jagged[i] = new string[3];
}
要するに、ギザギザの配列はより高速で、直感的な構文を持っています。詳細については、以下を参照してください。 このStackoverflowの質問
これを試して :
string[,] myArray = new string[3,3];
http://msdn.Microsoft.com/en-us/library/2yd9wwz4.aspx をご覧ください
string[,] Tablero = new string[3,3];
多次元配列を作成しようとしているときは、次のように宣言にカンマを追加するだけです。
string[,] tablero = new string[3,3].
3x3(多次元)配列は、次のように初期化することもできます(既に宣言済みです)。
string[,] Tablero = {
{ "a", "b", "c" },
{ "d", "e", "f" },
{ "g", "h", "i"}
};
string[][]
はnot2次元配列であり、配列の配列です(ajagged array)。それは違うものです。
2次元配列を宣言するには、次の構文を使用します。
string[,] tablero = new string[3, 3];
jagged array が本当に必要な場合は、次のように初期化する必要があります。
string[][] tablero = new string[][] { new string[3],
new string[3],
new string[3] };
以下のコードを書くこともできます。
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
ここで、「i」は行数、「j」は列数です。 「typeof(..)」メソッドを使用して、配列のタイプ、つまりint、string、doubleを選択できます