这个问题在这里已经有了答案:




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 的单个实例并使用它。

10-06 13:05