質問

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次元のみを反復処理する必要がある場合、次のような多次元配列の代わりに配列の配列を使用することです。

object[][] values;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top