C# Random循环生成随机数重复问题解决方案
1.当我们通过Random生成随机数时,习惯的写法如下:
int a=new Random().Next(0,100);
然后生成一个数据数没有任何问题,但是代码修改如下

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

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

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

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

解决方案2:

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

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

最新文章

  1. mysql-proxy 读写分离
  2. 说说Angular中的$timeOut定时器
  3. 用Sublime Text搭建简易IDE编写Verilog代码
  4. iOS开发-UIScrollView原理
  5. 加载不同的nib文件
  6. 007_尚学堂_高明鑫_android 之项目的打包apk与apk的反编译
  7. android Activity的杂乱总结
  8. Apache中 RewriteRule 规则参数介绍
  9. 学习C++ Primer 的个人理解(零)
  10. iOS网络开发-AFNetworking请求asp.net WebService
  11. json、xml和java对象之间的转化
  12. java虚拟机 jvm java堆 方法区 java栈
  13. IIS简单的反向代理设置
  14. 洛谷P3167 通配符匹配 [CQOI2014] 字符串
  15. Spark 基础之SQL 快速上手
  16. Mapreduce atop Apache Phoenix (ScanPlan 初探)
  17. scala IDE for Eclipse开发Spark程序
  18. pt-query-digest详解慢查询日志
  19. linux下修改root密码以及找回密码的方法
  20. Service 简介 启动方式 生命周期 MD

热门文章

  1. 原生http模块与使用express框架对比
  2. RVDS编译器
  3. nodejs中req.body对请求参数的解析问题
  4. 一起来全面解析5G网络领域最关键的十大技术
  5. 解析分布式锁之Redis实现(二)
  6. 如何向GLSL中传入多个纹理
  7. C++设计模式 之 “接口隔离” 模式:Facade、Proxy、Mediator、Adapter
  8. Python3基础 str swapcase 英文字母大小写反转
  9. 打开vi后提示The ycmd server SHUT DOWN (restart with :YcmRestartServer)该如何处理
  10. 明码|2018年蓝桥杯B组题解析第二题-fishers