【发布时间】:2012-05-17 07:14:02
【问题描述】:
有没有用 C# 生成 随机偶数 数的好方法?我想出了这段代码:
Random RandString = new Random(0);
代码:
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;
}
这段代码的问题:
- 我目前的解决方案可能不是最快的
- 这种方法生成的数字经常以相同的顺序重复!例如,经过 5 次迭代后,我可以得到:8、10、20、30、16。更多点击(大约 15 秒)后,我可以连续获得 10、30、20 或 30、20 , 10.. 我不确定,但这不是我所说的“随机”。
那么有什么办法可以解决我所描述的问题,或者还有其他方法吗?
【问题讨论】:
-
完全随机?我认为没有人知道如何产生经过验证的随机序列,只有伪随机。
-
随机可以重复。它仍然是随机的。通过排除以前看到的值,您绝对是不是随机的。
-
你应该为你的控件命名。
-
从一个非常好的普通随机数开始,然后乘以 2。随机两倍! :-)
-
可以重复!当然!但是相同的三个数字在 15-20 个数字之后重复出现的概率是多少?这就是我所拥有的!它不是“随机的”——它是“重复的”
标签: c# winforms random numbers