[英]Random.Next() Digits always gives the same output every runtime
我知道這里有很多關於隨機的問題,但是它們根本沒有幫助我,它們是關於在單個運行時生成相同的數字,而我的並不是
這是我的代碼。
Random rnd = new Random(0);
for (int c = 0; c < arraySize; c++)
data[c] = rnd.Next();
如果我是第一次運行它。
rnd.Next()的元素將是1559595546,下一個輸出將是1755192844,依此類推,
如果我關閉程序並重新運行,
將會生成相同的一組數字
data[0] = 1559595546
data[1] = 1755192844
and so on,
為什么會這樣? 每當我關閉程序並運行它時,它是否應該生成不同的數字集?
請幫助我理解這一點。
不,您提供的固定種子為0。因此,輸出始終相同。 閱讀有關所使用的構造函數重載的文檔:
http://msdn.microsoft.com/zh-CN/library/ctssatww%28v=vs.110%29.aspx
請特別注意以下聲明:
為不同的Random對象提供相同的種子值會導致每個實例產生相同的隨機數序列。
也許您應該:
var rnd = new Random(); //no seed
這是因為您提供了種子0,例如
Random = new Random(0); //0 is Seed
如果刪除它,它將根據需要生成不同的隨機數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.