C#教程之随机数生成

金沙澳门官网网址:www.js333com

VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#编程 >
  • C#教程之随机数生成

  • 2019-10-07 14:52 来源:www.js333com
复制代码
一个小小的随机数生成
        /// <summary>
        /// lou 2019-9-25 15:14:02 生成随机字符串
        /// </summary>
        /// <param name="length">返回值的长度</param>
        /// <param name="type">返回值类型,1:纯数字;2:小写字母;3:大写字母;4:大小写字母混合;5:小写字母和数字混合;6:大写字母和数字混合;7:大小写字母和数字混合</param>
        /// <returns></returns>
        public static string GetCode(int length, int type)
        {
            string str = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ";
            string retStr = "";
            Random rnd = new Random(GetRandomSeed());
            for (int i = 0; i < length; i++)
            {
                switch (type)
                {
                    case 1:
                        retStr += rnd.Next(10).ToString();
                        break;
                    case 2:
                        retStr += str.Substring(10 + rnd.Next(26), 1);
                        break;
                    case 3:
                        retStr += str.Substring(36 + rnd.Next(26), 1);
                        break;
                    case 4:
                        retStr += str.Substring(10 + rnd.Next(52), 1);
                        break;
                    case 5:
                        retStr += str.Substring(0 + rnd.Next(36), 1);
                        break;
                    case 6:
                        retStr += str.Substring(0 + rnd.Next(36), 1).ToUpper();
                        break;
                    case 7:
                        retStr += str.Substring(0 + rnd.Next(61), 1);
                        break;
                }
            }
            if (retStr == "")
            {
                retStr = GetCode(length, type);
            }
            return retStr;
        }
        /// <summary>
        /// 描 述:创建加密随机数生成器 生成强随机种子
        /// </summary>
        /// <returns></returns>
        private static int GetRandomSeed()
        {
            byte[] bytes = new byte[4];
            RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
            rng.GetBytes(bytes);
            return BitConverter.ToInt32(bytes, 0);
        }
复制代码

 

在学习的过程中记录一些笔记及经验 如有疑问请咨询http://wpa.qq.com/msgrd?v=3&uin=2861510776&site=qq&menu=yes
相关教程
Baidu
sogou