这篇文章主要介绍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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。