C#生成随机数的方法小结
本文实例总结了C#生成随机数的方法。分享给大家供大家参考。具体分析如下: 开始,很简单地使用System.Random类来生成随机数。很快,问题就来了,发现当random的生成间隔小于1ms时,随机数就重复了(仅限于每次都新建Random对象),因为新建random时候是默认以当前时间作为随机种子的。将random改为单例,重复数的几率小了,但是随机数在一段时间后循环了(伪随机数嘛,没办法,要求不了这么多的)。 所以,特意在网上找了一些资料,并亲自作了一些性能比较,在此作些总结。 System.Random 这个是伪随机数生成器 缺点:生成出来的结果会循环,且Random对象创建间隔小于1ms的时候产生结果会相同;
这个是用于产生密码的安全随机数生成器,产生出来的随机数离散度高,产生1,000个32位(8-byte)的随机数无重复 缺点:速度很慢,对比System.Random是两个数量级的效率差距;
这个是GUID(UUID)生成器,出来的是128-bit的字节数组,通常被表示为8-4-4-4-12的32个hex字符。 缺点:生成长度一定,而且生成出来的结果可能与环境相关,在高安全需求的环境不适用;
希望本文所述对大家的C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |