[英]Random numbers in c#
我用
Random rnd = new Random();
x=rnd.Next(10);
但是每次我得到相同的數字。 如何解決並獲得不同的數字? 告訴我簡單的方法。
謝謝。 對不起,英語不好。
Random的默認構造函數使用當前時間作為其種子。 因此,如果您快速連續地初始化多個Random對象(例如,在循環中),則它們將共享相同的種子。
一次創建您的Random對象並多次使用它,或者預先創建一個種子並使用它來初始化生成器。
MSDN在用於隨機類的MSDN文檔的備注部分中明確解決了該“問題”,其中包括一個示例!
確保只使用一次構造函數。 您可以添加種子。
Random rnd = new Random(DateTime.Now.Millisecond);
然后,您可以像實際操作那樣撥打電話。
x=rnd.Next(10);
但是請確保在循環或類似內容中沒有構造函數和對Next()方法的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.