【发布时间】:2014-03-05 12:24:21
【问题描述】:
我想创建一个前面带有文本的随机数,并且我不希望系统显示一个数字两次。所以,这就是我的做法:
Random _rand = new Random();
private void RandomNumberGenerator()
{
int random = _rand.Next(10000);
string text = "TP0" + random;
if (random.Equals(random))
{
_rand.Next();
}
else
{
random = _rand.Next(10000);
}
MessageBox.Show(text);
}
我没有得到任何显示的数字两次(但我不太确定,因为我只是关闭程序直到它显示数字 5 次(所有数字都不是同一个数字)。
是否有可能从上面的代码中显示一个数字两次?
谢谢。
【问题讨论】:
-
random.Equals(random)不会总是返回true?你为什么用它? -
生成一个从0到10000的序列然后使用Fisher–Yates shuffle