C#中random.Next方法怎么用

这篇文章主要介绍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方法怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!