C#短時間內(nèi)產(chǎn)生大量不重復(fù)的隨機數(shù)
更新時間:2013年02月14日 18:28:05 作者:
在C#編程中,經(jīng)常會碰到產(chǎn)生隨機數(shù)的情況,并且是在短時間內(nèi)產(chǎn)生一組隨機數(shù)。如果這組隨機數(shù)中有大量重復(fù)的,則達不到我們的要求
生成隨機數(shù)可以用偽隨機數(shù)發(fā)生器Random,受種子控制生成偽隨機數(shù),默認以當(dāng)前時間值為種子。如果程序運行的很快,就會導(dǎo)致在幾乎同一時刻運行多次,肯定會有重復(fù)的。比如我們要生成1到10之間的5個隨機數(shù),則經(jīng)常會產(chǎn)生 2 2 1 1 1這樣的情況,那么如何得到非常隨機的不那么重復(fù)的隨機數(shù)呢?比如 4 2 3 3 5這樣的。
有人說用Thread.Sleep(5) ,但我不推薦,因為這樣會使系統(tǒng)減緩運行。
我采取的方法是:用種子Guid.NewGuid().GetHashCode(),在短時間里不會出現(xiàn)大量重復(fù)。
有人說用Thread.Sleep(5) ,但我不推薦,因為這樣會使系統(tǒng)減緩運行。
我采取的方法是:用種子Guid.NewGuid().GetHashCode(),在短時間里不會出現(xiàn)大量重復(fù)。
相關(guān)文章
C#實現(xiàn)HSL顏色值轉(zhuǎn)換為RGB的方法
這篇文章主要介紹了C#實現(xiàn)HSL顏色值轉(zhuǎn)換為RGB的方法,涉及C#數(shù)值判定與轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下2015-06-06
C#中Activator.CreateInstance()方法用法分析
這篇文章主要介紹了C#中Activator.CreateInstance()方法用法,實例分析了C#中Activator.CreateInstance()方法的功能、定義及使用技巧,需要的朋友可以參考下2015-03-03
C#中緩存System.Web.Caching用法總結(jié)
本文詳細講解了C#中緩存System.Web.Caching的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
C#實現(xiàn)解析百度天氣數(shù)據(jù),Rss解析百度新聞以及根據(jù)IP獲取所在城市的方法
這篇文章主要介紹了C#實現(xiàn)解析百度天氣數(shù)據(jù),Rss解析百度新聞以及根據(jù)IP獲取所在城市的方法,非常具有實用價值,需要的朋友可以參考下2014-10-10

