c#将随机数添加到数组中

时间:2014-03-06 06:08:03

标签: c#

我在c#中使用随机数字填充数组,但我无法使其工作。

        int[,] array = new int[10, 5];
        int x, y;
        x = 0;
        y = 0;

        while (y <= 5)
        {
            Random r = new Random();
            int rand = r.Next(-50, 50);
            array[x, y] = rand;

            if (x == 10)
            {
                x = 0;
                y++;
            }
            x++;

        }

5 个答案:

答案 0 :(得分:4)

使用嵌套的for循环,它更容易:

Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < 5; j++)
    {
        array[i, j] = rnd.Next(-50, 50);
    }
}

您的while循环无法读取,但它是正确的,除非您应在(y <= 5)更改为while (y < 5),否则您将获得IndexOutOfRangeException。您应该在循环之外定义Random实例。

答案 1 :(得分:0)

int[,] array = new int[10, 5];
int x = 0, y = 0;

Random r = new Random();
while (y < 5)
{    
    int rand = r.Next(-50, 50);
    array [x, y] = rand;

    x++;
    if (x == 10)
    {
        x = 0;
        y++;
    }
}

答案 2 :(得分:0)

你需要改变你的if或数组声明到

 int[,] array = new int[11, 6];

还有其他问题,你需要在

之前创建随机
        Random r = new Random();

        while (y <= 5)
        {

打印出可用于

的值
        for (int i = 0; i < array.GetLength(0); i++)
        {
            for (int j = 0; j < array.GetLength(1); j++)
                Console.WriteLine(array[i, j]);
        }

答案 3 :(得分:0)

试试这个:

int[,] array = new int[10, 5];


        Random rnd = new Random();

        for (int row = 0; row < 10; row++)
        {
            for (int col = 0; col < 5; col++)
            {
                array[row, col] = rnd.Next(-50, 50);
            }
        }

答案 4 :(得分:0)

int[,] array = new int[10, 5];
        int x, y;
        x = 0;
        y = 0;

        while (y < 5)
        {
            Random r = new Random();
            int rand = r.Next(-50, 50);
            array[x, y] = rand;

            if (x == 9)
            {
                x = 0;
                y++;
            }
            x++;

        }

让我们看看这是否有效。