使用C#生成完全随机的偶数

Ale*_*lex 2 c# random numbers winforms

有没有什么好方法用C#生成随机偶数?我想出了这段代码:

    Random RandString = new Random(0);
Run Code Online (Sandbox Code Playgroud)

码:

    private void button6_Click(object sender, EventArgs e)
    {
        int min = 0;
        int max = 50;

        int rand = RandString.Next(min, max-1);
        while (rand % 2 == 1) // odd
        {
            rand = RandString.Next(min, max-1);
        }

        textBox4.Text = "" + rand;
    }
Run Code Online (Sandbox Code Playgroud)

这段代码有问题:

  • 我目前的解决方案可能不是最快的
  • 很多时候,这个方法生成的数字会以相同的顺序重复!例如,经过5次迭代后,我可以得到:8,10,20,30,16.经过多次点击(15秒钟)后,我可以 连续获得10,30,20或30,20,10 ......我是不确定,但这不是我所谓的"随机".

那么有什么方法可以解决我所描述的问题,还是有其他方法?

SLa*_*aks 9

textBox4.Text = (2 * rand.Next(min / 2, max / 2)).ToString();
Run Code Online (Sandbox Code Playgroud)