ボックスとして使用している多次元配列があり、次のように、その周りに境界線を生成するコードがあります。
#######
# #
# #
# #
# #
#######
しかし、私が理解していないのは、「j == ProcArea.GetUpperBound(...)」の部分に 0 または 1 を指定でき、エラーや予期しない出力なしで正常に動作することです。
int[,] ProcArea = new int[rows, columns];
//Generate border
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
if (i == 0 || j == 0 || i == ProcArea.GetUpperBound(0) || j == ProcArea.GetUpperBound(1))
{
ProcArea[i, j] = 2;
}
}
}
なぜこれが機能するのですか?また、使用すべき正しい値は何ですか?
ありがとう