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