C#中随机数的产生

来源:互联网 发布:万网独立域名管理 编辑:程序博客网 时间:2024/04/29 15:11
         在C#中,产生一个随机数,使用的是Random类,在很多时候我们需要填写验证码,也可以由这个方法产生。
      最重要的是 int seed = 6;
                           Random ra = new Random();
                           int iRandom =  ra.next(seed);   //产生一个随机数,范围是0~5
 

            第一种方法是指定一个int型的参数作为随机种子:
                      int iSeed=6;
                      Random ra=new Random(iSeed);

                     我们要用到Random.Next()方法产生随机数。

                    ra.Next();
        它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要。

                    用法:int seed = 20;
                                Random ra = new Random();
                                int iRandom =  ra.next(seed);
                    返回一个小于所指定最大值(此处为20)的正随机数。

我们编写了一个函数,用来产生数据字符串,字符串的长度也是随机的,但是有一定的要求。
         /// <summary>
        /// 产生随机数
        /// </summary>
        /// <param name="seed"></param>
        /// <returns>返回随机数</returns>
        public string GenRandom(int seed)  //randomTime是产生的一个字符串里面含有字符的个数
        {
            Random ra = new Random();

            int randomTime = ra.Next(seed);
            // randomWord是最后产生的随机数,初始化为空
            string randomWord = "";

            // initWord是随机数产生的取值
            string initWord = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

            // iRandom是Random实例化对象ra的中间过程产生的书
            int iRandom;

           
            for (int i = 0; i < randomTime; i++)
            {
                //ra.next是一个产生随机数的方法,initWord.Length是随机数的范围,产生的随机数iRandom小于initWord.Length的值
                iRandom = ra.Next(initWord.Length);

                randomWord += initWord[iRandom];

            }
            return randomWord;
        }
原创粉丝点击