簡體   English   中英

C#使用單個for循環填充2D數組矩陣

[英]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;
}

https://dotnetfiddle.net/Lv9DvT

是的,當然可以。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM