C#短时间内产生大量不重复的随机数
更新时间:2013年02月14日 18:28:05 作者:
在C#编程中,经常会碰到产生随机数的情况,并且是在短时间内产生一组随机数。如果这组随机数中有大量重复的,则达不到我们的要求
生成随机数可以用伪随机数发生器Random,受种子控制生成伪随机数,默认以当前时间值为种子。如果程序运行的很快,就会导致在几乎同一时刻运行多次,肯定会有重复的。比如我们要生成1到10之间的5个随机数,则经常会产生 2 2 1 1 1这样的情况,那么如何得到非常随机的不那么重复的随机数呢?比如 4 2 3 3 5这样的。
有人说用Thread.Sleep(5) ,但我不推荐,因为这样会使系统减缓运行。
我采取的方法是:用种子Guid.NewGuid().GetHashCode(),在短时间里不会出现大量重复。
有人说用Thread.Sleep(5) ,但我不推荐,因为这样会使系统减缓运行。
我采取的方法是:用种子Guid.NewGuid().GetHashCode(),在短时间里不会出现大量重复。
相关文章
C#中Activator.CreateInstance()方法用法分析
这篇文章主要介绍了C#中Activator.CreateInstance()方法用法,实例分析了C#中Activator.CreateInstance()方法的功能、定义及使用技巧,需要的朋友可以参考下2015-03-03
C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法
这篇文章主要介绍了C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法,非常具有实用价值,需要的朋友可以参考下2014-10-10


最新评论