当前位置:   article > 正文

C# 产生真正随机数的方法,可以高速连续调用也能随机(测试过的代码实例,可复制直接使用)_c# 真随机数

c# 真随机数

在C#编程的时候,经常会遇到需要用到随机数,而如果只是简单调用 Random,所产生的实际不是随机数,当调用过快,或者程序连续调用时,通常产生“固定”的数。经过摸索与测试,我一般会自己写一个函数,可以保证在任何一次调用,都最大概率产生真正的随机数,代码如下,可以直接使用哦:

private int GetRandomInAB(int minA, int maxB)  //在A到B的区间随机取值返回,如果B小于等于A,或溢出,返回-1
        {
            int iRandomBack = -1; //防溢出,固定回传
            if (maxB > minA) //B大于A  
            {
                byte[] bytes = new byte[4];
                System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();  //采用 RNGCryptoServiceProvider取随机数
                rng.GetBytes(bytes);
                int Randseed = BitConverter.ToInt32(bytes, 0);  //产生一个随机种子
                
                string strTick = Convert.ToString(DateTime.Now.Ticks);  //采用DateTime.Now.Ticks取随机数
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/84022
推荐阅读
相关标签
  

闽ICP备14008679号