如果我想爲Int32可能包含的所有可能數字生成一個隨機數,下面的代碼是否是一種合理的方式?有什麼理由可能不是一個好主意嗎? (即均勻分佈至少Random.Next(好)本身反正)爲可能數字的全部範圍生成一個隨機Int32
public static int NextInt(Random Rnd) //-2,147,483,648 to 2,147,483,647
{
int AnInt;
AnInt = Rnd.Next(System.Int32.MinValue, System.Int32.MaxValue);
AnInt += Rnd.Next(2);
return AnInt;
}
不是'ANINT + = Rnd.Next(2);'的與'AnInt + = 1'相同? – Louis 2012-07-08 07:56:08
你想讓一個範圍內的每個數字隨機輸出一次嗎? – Louis 2012-07-08 07:57:02
它將添加0或1,以便我們達到Int32的最大可能值。 Random.Next()不會爲我們做不幸的事情。這可能是一個設計缺陷 – 2012-07-08 07:58:17