您好,登錄后才能下訂單哦!
這篇文章主要介紹C#中random.Next方法怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
.NETRandom類在生成隨機數(shù)方面做得相當不錯。但請注意,如果您使用相同的數(shù)字播種,則每次都會獲得相同的“隨機”數(shù)字。如果您不希望此行為不提供種子。如果您使用的是隨機數(shù)生成器而不是內置的.NET生成器,那么請查看random.org。
C#中的random.Next方法
1.random.Next():返回非負的一個隨機數(shù)
2.random.Next(MaxValue):返回一個小于所指定最大值的非負隨機數(shù)(注意:a.是小于最大值要生成的隨機數(shù)的上界(隨機數(shù)不能取該上界值);b.maxValue類型:[System..::.Int32],maxValue必須大于等于零。
3.Random..::.Next(minValue,maxValue):返回一個指定范圍內的隨機數(shù).
4.返回值類型:[System..::.Int32],一個大于等于minValue且小于maxValue的32位帶符號整數(shù),即:返回的值范圍包括minValue但不包括maxValue。如果minValue等于maxValue,則返回minValue。
Random.Next()的概率
我想寫一個抽獎程序,需要隨機選擇1-20000范圍內的20000個數(shù)字。代碼如下:
Randomr=NewRandom(seed);//seedisa6digitse.g123456
inti=0;
while(true){
r.Next(2000000);
i++;
if(i>=20000)
break;
}
我的問題是:
它能確保所有數(shù)字從1到2000000的相同可能性嗎?
r.Next()中是否包含上限2000000?
st
包含上限?
不,上限是獨占的,因此您必須使用2000001來包含2000000。
有什么建議嗎?
讓我冒昧地建議不要使用while(true)/break。只需將if的條件放在while語句中:
Randomr=NewRandom(seed);//seedisa6digitse.g123456
inti=0;
while(i++<20000)
{
r.Next(1,2000001);
}
以上是“C#中random.Next方法怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。