获取随机数,苦恼重复问题;
在循环中,rd.Next()会由于默认的时间间隔太小而产生出重复随机数,解决方案有两种:
random的构造函数提到循环外,适用于方法内部使用
Random rd = new Random();
for(int i=0;i<10;i++){
int seed=rd.Next();
}
2.使用guid作为随机数种子,适用于高频次调用一个生成方法或过程
//外部多次调用
for(int i=0;i<10;i++){
GetRandom();
}
public int GetRandom(){
Random rd = new Random(Guid.NewGuid().GetHashCode());
return rd.Next();
}
网友评论