为什么不创建一个"真正的"随机数?

Sim*_*rts 0 c# random numbers

可能重复:
随机数生成器仅生成一个随机数

我试图创建一个循环来创建和输出列表框中的5个随机数.基本上它输出相同的随机数5次而不是5次不同的随机数.当我使用断点并通过代码时,它实际上生成了5个数字.那为什么它只输出第一个答案呢?谢谢.(这不是项目的全部内容,但我需要先实现这一点).

    public string Numbertext1;
    public string Numbertext2;       
    public int GeneratedNumbers;
    public int Average = 0;
    public int TotalSum = 0;
    public int TotalCalcs = 0;
    public int Counter = 0;

    private void btnRandomise_Click(object sender, EventArgs e)
    {
        Numbertext1 = txtNum1.Text;
        int Number1;
        int.TryParse(Numbertext1, out Number1);
        Numbertext2 = txtNum2.Text;
        int Number2;
        int.TryParse(Numbertext2, out Number2);

        do
        {

            Random num = new Random();
            int number = num.Next(Number1, Number2);
            lbNumbers.Items.Add(Convert.ToString(number));
            Counter++;
        }
        while (Counter < 5);
        {
            TotalCalcs++;
            Counter = 0;
        }


    }
}
}
Run Code Online (Sandbox Code Playgroud)

dav*_*e23 6

您需要num在全局级别初始化变量.它一遍又一遍地使用相同的种子.

把它Random num = new Random(); 放在最顶层的地方.然后从方法中删除它.