[英]C# fill 2D array matrix using single for loop
我目前正在使用2D阵列。 我想用计数填充2D数组。 我已经设法使用2个嵌套的for循环来做到这一点。 (这可能是最简单的正确做法?)
//create count
int count = 1;
for (int row = 0; row < matrix.GetLength(0); row++)
{
for (int col = 0; col < matrix.GetLength(0); col++)
{
matrix[row, col] = count++;
}
}
我只是很好奇,是否也可以仅使用一个for循环来填充2D数组?
我想到做一个循环来计算行数。 当行到达数组的末尾时,列将增加1。这可以通过使用if,if else和else语句来完成吗?
这里有人知道如何进行这项工作吗?
干得好
int[,] matrix = new int[5, 10];
int row = matrix.GetLength(0);
int col = matrix.GetLength(1);
for (int i = 0; i < row * col; i++)
{
matrix[i / col , i % col] = i + 1;
}
是的,当然可以。
for(int i = 0; i < matrix.GetLength(0) * matrix.GetLength(1); i++)
{
int row = i / matrix.GetLength(1);
int column = i % matrix.GetLength(1);
matrix[row, column] = i;
}
与NxN数组一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.