首页 > Web开发 > 详细

net Random 随机数重复的问题

时间:2014-08-13 18:19:27      阅读:241      评论:0      收藏:0      [点我收藏+]

在实际项目中不仅需要随机产生密码字符串,还要一次生成多个。我把生成随机字符串的方法放到for循环中,问题出现了。

生成的字符串,会重复。

经过多方查证,原因在代码。

//使用与系统时间相关的种子
Random rnd = new Random();

问题正是出现在这,系统时间会在10ms更新一次,而for循环大大短于10ms,所以会产生重复。

如何解决呢,当然是不使用默认种子,手动指定,而且种子不能重复。我想for循环中的计数器正适合。

for (int i = 0; i < count; i++)
{
     //以i作为种子,产生随机数
     Random rnd = new Random(i);
}

完美解决。

net Random 随机数重复的问题,布布扣,bubuko.com

net Random 随机数重复的问题

原文:http://www.cnblogs.com/archip/p/3910570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!