您的位置:首页 > 其它

net Random 随机数重复的问题

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

生成的字符串,会重复。

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

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


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

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

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


完美解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: