当前位置:首页 > C#

C# Random循环生成随机数重复问题解决方案

happyfhb8年前 (2018-11-23)C#2720
摘要:C# Random循环生成随机数重复问题解决方案1.当我们通过Random生成随机数时,习惯的写法如下:int a=new Random().Next(0,100);然后生成一个数据数没有任何问题,但是代码修改如下for(int i=0;i<1000;i++){  &nb…

C# Random循环生成随机数重复问题解决方案

1.当我们通过Random生成随机数时,习惯的写法如下:

int a=new Random().Next(0,100);

然后生成一个数据数没有任何问题,但是代码修改如下

for(int i=0;i<1000;i++){
    Console.WriteLine(new Random().Next(0,100));
}

问题:你会发现生成的随机数居然完全一样。肿么办呢?



2.解决:之所以会出现这样的情况是因为C#生成随机数和计算的时间有关系,如果生成太快就会造成这个问题

解决方案1:

暂停一定时间

for(int i=0;i<1000;i++){
    Console.WriteLine(new Random().Next(0,100));
    Thread.Sleep(100);
}

解决方案2:

for(int i=0;i<1000;i++){
    Console.WriteLine(new Random(Guid.NewGuid().GetHashCode()).Next(0,100));}

结语:个人更偏向于第二种解决方案,因为第一种明显降低了执行效率

扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=1298

“C# Random循环生成随机数重复问题解决方案” 的相关文章

vb.net 随机函数 random 用法

VB.net 的写法dim rand as new random()i=rand.next(1,100)表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)伪随机数是以相同的概率从一组有限的数字中选…

传智播客.Net精品就业班培训专区目录

[传智播客.Net视频]第1季C#编程基础[传智播客.Net视频]第2季C#面向对象基础    [传智播客.Net视频]第3季WinForm基础  [传智播客.Net视频]第4季SQL从入门到提高    [传智播客.Net视频]第5季ADO.Net&…

c#无返回值函数如何调用

 无返回值函数如何调用 事例 定义一个不需要返回值的函数 none()         static void none()//定义一个不需要返回值的函数        {&nbs…

学习心得 数据库连接类的书写规范

一般的规范都是建立3个类文件类1:字段(属性)model类2:方法(函数) dal类3:辅助或者就是 本来可以直接通过dal调用的方法 我在重写一遍 起中转作用 可以使程序更加清晰  bll…

c#中如何判断用户输入的字符全部为数字的方法-经典

             string num = textBox1.Text; //从文本框获取用户输入的值     …

C#延时方法片段

 label4.Text = "输入非数字字符";                //延时1秒  &…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。