C# Random.Next()产生不重复随机数

在日常使用中,我们经常需要用到随机数模块。
在循环中,rd.Next()会由于默认的时间间隔太小而产生出重复随机数,解决方案有两种:

  1. 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();
}

你可能感兴趣的:(C# Random.Next()产生不重复随机数)