2 次元配列で行と列を別々に反復したいと思います。
object[,] values;
行と列だけを反復処理するにはどうすればよいですか?
2 次元配列で行と列を別々に反復したいと思います。
object[,] values;
行と列だけを反復処理するにはどうすればよいですか?
列と行が何であるかによって異なりますが、次のコード スニペットを使用できます。
for (int i = 0; i < values.GetLength(0); i++)
Console.WriteLine(values[i, 0]);
と:
for (int i = 0; i < values.GetLength(1); i++)
Console.WriteLine(values[0, i]);
2 次元配列の 1 番目と 2 番目の次元を反復処理するコードを次に示します。(多次元配列は任意の数の次元を持つことができるため、実際には「行」と「列」はありません)
object[,] values = new object[5,5];
int rowIWant = 3; //Make sure this is less than values.GetLength(0);
//Look at one "row"
for(int i = 0; i < values.GetLength(1); i++
{
//Do something here with values[rowIWant, i];
}
int columnIWant = 2; //Make sure this is less than values.GetLength(1);
//Look at one "column"
for(int i = 0; i < values.GetLength(0); i++
{
//Do something here values[i, columnIWant];
}
多次元配列には、参照しているような行と列はありません。値にアクセスするために使用されるインデックスがいくつかあるだけです。このような配列の反復は、ネストされた for ループを使用して実行されます。次元ごとのベースで特定の計算を実行する場合は、それに応じてループの順序を変更する必要があります。
もう 1 つのオプションは、1 次元だけを反復処理する必要がある場合、次のように多次元配列の代わりに配列の配列を使用することです。
object[][] values;