【发布时间】:2014-09-25 19:55:09
【问题描述】:
我需要生成大量随机数,这些随机数必须介于 1 和 int.MaxValue 之间。传递给 Random 类的 Next 方法的参数并不总是相同的。在一种情况下,参数可能如下:
Next(1, int.MaxValue);
在另一种情况下,它们也可能是:
Next(1, 2);
这里的问题是,每当您传递 1 和 2 或 99 和 100 之类的值时,较小的数字始终是该方法返回的“随机”数字。这样做的原因是因为该方法从最大值中减去 1(除非最小值和最大值相同),然后给您随机数。如上所述,如果没有得到这个可预测的结果,我将如何在一个数字范围内生成一系列随机数?
【问题讨论】: