我在寫一個將生成1和6之間的無符號整數(包含邊界)的方法。我現在的方法如下。生成隨機整數時無法包含上限
private static Random random = new Random();
...
private static uint GetRandomChannel()
{
return Convert.ToUInt32(random.Next(1, 6));
}
我碰到這種方法一千次,我也得到數字1到5,但從來沒有得到6.爲什麼會出現這種情況以及如何解決呢?
更令人失望的是,我一再呼籲random.Next(n,n + 1),結果似乎不是隨機的! –
@SeanU它是完全隨機的!唯一與真正的RNG無法區分的僞RNG! ;-) –