C#短時間內(nèi)產(chǎn)生大量不重復(fù)的隨機(jī)數(shù)
更新時間:2013年02月14日 18:28:05 作者:
在C#編程中,經(jīng)常會碰到產(chǎn)生隨機(jī)數(shù)的情況,并且是在短時間內(nèi)產(chǎn)生一組隨機(jī)數(shù)。如果這組隨機(jī)數(shù)中有大量重復(fù)的,則達(dá)不到我們的要求
生成隨機(jī)數(shù)可以用偽隨機(jī)數(shù)發(fā)生器Random,受種子控制生成偽隨機(jī)數(shù),默認(rèn)以當(dāng)前時間值為種子。如果程序運(yùn)行的很快,就會導(dǎo)致在幾乎同一時刻運(yùn)行多次,肯定會有重復(fù)的。比如我們要生成1到10之間的5個隨機(jī)數(shù),則經(jīng)常會產(chǎn)生 2 2 1 1 1這樣的情況,那么如何得到非常隨機(jī)的不那么重復(fù)的隨機(jī)數(shù)呢?比如 4 2 3 3 5這樣的。
有人說用Thread.Sleep(5) ,但我不推薦,因為這樣會使系統(tǒng)減緩運(yùn)行。
我采取的方法是:用種子Guid.NewGuid().GetHashCode(),在短時間里不會出現(xiàn)大量重復(fù)。
有人說用Thread.Sleep(5) ,但我不推薦,因為這樣會使系統(tǒng)減緩運(yùn)行。
我采取的方法是:用種子Guid.NewGuid().GetHashCode(),在短時間里不會出現(xiàn)大量重復(fù)。
您可能感興趣的文章:
- c# Random快速連續(xù)產(chǎn)生相同隨機(jī)數(shù)的解決方案
- C#生成指定范圍內(nèi)的不重復(fù)隨機(jī)數(shù)
- C#中獲取、生成隨機(jī)數(shù)的三種方法
- 用C#生成不重復(fù)的隨機(jī)數(shù)的代碼
- C#實現(xiàn)在兩個數(shù)字之間生成隨機(jī)數(shù)的方法
- C#生成互不相同隨機(jī)數(shù)的實現(xiàn)方法
- c#獲取相同概率隨機(jī)數(shù)的算法代碼
- C# 生成隨機(jī)數(shù)的代碼
- C#利用Random得隨機(jī)數(shù)求均值、方差、正態(tài)分布的方法
- C#實現(xiàn)的簡單隨機(jī)數(shù)產(chǎn)生器功能示例
相關(guān)文章
C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法
這篇文章主要介紹了C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法,結(jié)合實例形式分析了OLEDB的調(diào)用及Excel的相關(guān)操作技巧,需要的朋友可以參考下2017-05-05C# 動態(tài)調(diào)用WebService的示例
這篇文章主要介紹了C# 動態(tài)調(diào)用WebService的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-11-11C#中HttpWebRequest、WebClient、HttpClient的使用詳解
這篇文章主要介紹了C#中HttpWebRequest、WebClient、HttpClient的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12