我不常投机,偶尔兴趣来了也会去买几注彩票,但选号是个让人头痛的事情,以前我都是让彩票机进行机选,最高纪录是中了个5元钱,还挺兴奋的。前几天因为工作需要,要用到随机数生成,且生成的数不能够重复,我在网上找了很多相关的程序,看的我头有点大,算了还是自己写一个吧,虽然不是最好的但必竟是自己写的东西。工作完成后我把它改成了一个专门为福彩35选7进行选号的小东东
首先,在C#中最常用的随机数生成类是System.Random很ease的东东用法我就不多说了,但是他的缺点地球人都知道,就是不够随机,于是我参考学习了其他大侠的程序后决定使用System.Security.Cryptography下的RNGCryptoServiceProvider类来进行随机数生成,他的优点是真的好随机,缺点是速度比Random要慢,在短时间里生成大量随机数的情况下不推荐使用此类,好了,很简单明了程序如下:
PS:程序的思路是,把生成的随机数放在一个数组中,从第2个产生的随机数起开始与数组中的值进行比较如果相同则重新生成!
byte
[] bytes
=
new
byte
[
16
];
//
建一个数组用于存储随机生成的值
RNGCryptoServiceProvider r
=
new
RNGCryptoServiceProvider();
//
使用RNG类生成随机数
int
[] index
=
new

这篇博客介绍如何在C#中利用RNGCryptoServiceProvider类生成不重复的随机数,适用于需要确保随机数唯一性的场景。作者分享了一个简单的程序,通过将生成的随机数与数组中的值对比避免重复,适合用于彩票选号等应用。
最低0.47元/天 解锁文章
1033

被折叠的 条评论
为什么被折叠?



