Random.Next始终返回相同的值

Tom*_*mas 3 c# random math

我使用该方法生成唯一的数字,但我总是得到相同的数字-2147483648.即使我停止程序,重新编译它并再次运行我仍然看到相同的数字.

  public static int GetRandomInt(int length)
    {           
        var min = Math.Pow(10, length - 1);
        var max = Math.Pow(10, length) - 1;
        var random = new Random();
        return random.Next((int)min, (int)max);
    }
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 7

尝试外化随机实例:

private readonly Random _random = new Random();

public static int GetRandomInt(int length)
{           
    var min = Math.Pow(10, length - 1);
    var max = Math.Pow(10, length) - 1;
    return _random.Next((int)min, (int)max);
}
Run Code Online (Sandbox Code Playgroud)

  • @SirViver @Darin,但是OP表示即使在他重新编译后他也获得了相同的数字.这不会消除他使用同一时间种子的机会吗? (2认同)