这个问题在这里已经有了答案:
9年前关闭。
我做了一个简单的例程,它生成一个随机数
private int randomNumber()
{
Random random = new Random();
int randomNum = random.Next(0, 100);
Response.Write(randomNum);
return randomNum;
}
我在整个 page_load 的两个不同阶段以相同的方式调用它:
// A/B Test
if (randomNumber() <= 50)
{
...
不过,我发现两个数字始终相同。有任何想法吗?
最佳答案
当您创建 Random
实例时,它会以当前时间作为种子。因此,如果您同时创建多个它们,它们将生成相同的随机数序列。您需要创建 Random
的单个实例并使用它。