溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中random.Next方法怎么用

發(fā)布時間:2021-09-22 14:49:22 來源:億速云 閱讀:477 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹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è)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI