这个问题在这里已有答案:
我试图在0和1之间返回一个随机数,但它总是返回0。
码:
int rnd = new Random().Next(0, 1);
Random.Next
采用包含最小值和最大值 - 因此Random.Next(0, 1)
唯一可能的结果是0。
如果您尝试生成零或1,例如硬币翻转,请使用:
int result = new Random().Next(0, 2);
要生成介于0和1之间的数字,请将其更改为:
double result = new Random().NextDouble(0, 1);
从你的例子中可以很难说,正如你所说的那样“之间”,但是将结果分配给int
,并调用返回int
的函数。
0
和1
之间没有整数。由于下限是包含的,上限是独占的,所以你总是得到一个0
。你应该使用NextDouble
代替:
double rnd = new Random().NextDouble();