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();
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math...
    GB_speak阅读 41,314评论 2 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 读书是一种别致的幸福。 -1- 少时家贫,信息闭塞,要读到一本书并不容易,我的第一本读物是一本老黄历,这是在农村最...
    青山若夫阅读 3,836评论 17 27
  • 皇皇Heddy阅读 650评论 0 1
  • 在《走散的朋友》中我谈到我曾经有两个都叫“小红”的朋友。一个是小学同学。另一个小红是中学同学,算起来我们做同学大约...
    瓦格阅读 3,780评论 0 0