.net工具类——获取编码(生成随机数)

时间:2020-08-14 03:39:06 来源:

【摘要】 .net工具类——获取编码(生成随机数)考必过小编为大家整理了关于.net工具类——获取编码(生成随机数)的信息,希望可以帮助到大家!

.net工具类——获取编码(生成随机数)

标签:vat   英文   contain   utils   convert   pre   break   contains   ring   

 .net工具类——获取编码(生成随机数)

  1. GetNumber:获取编码。年月日+八位随机数
  2. GetNumber2:获取编码。随机数
  3. GenerateCode:获取编码。包含大写英文和数字、去掉字母I和O
  4. GetCodePerfix:获取编码的前缀,年月(格式如:AK,表示2018年11月)

 

        /// <summary>
        /// 获取编码。年月日+八位随机数
        /// </summary>
        /// <returns></returns>
        public static string GetNumber()
        {
            byte[] buffer = Guid.NewGuid().ToByteArray();
            var ram = BitConverter.ToInt64(buffer, 0);
            var str = string.Format("{0}{1}", Utils.GetRamCode2(), ram.ToString().Substring(0, 8));
            return str;

            //var str = string.Format("{0}{1}", Utils.GetRamCode2(), Utils.Number(6, true));
            //return str;
        }

        /// <summary>
        /// 获取编码。随机数
        /// </summary>
        /// <returns></returns>
        public static string GetNumber2(int Length)
        {
            byte[] buffer = Guid.NewGuid().ToByteArray();
            var ram = BitConverter.ToInt64(buffer, 0);
            var str = string.Format("{0}", ram.ToString().Substring(0, Length));
            return str;
        }

        /// <summary>
        /// 获取编码。年月日+八位随机数
        /// </summary>
        /// <returns></returns>
        public static string GetNumber(List<string> listNumber)
        {
            string Number = GetNumber();
            int i = 0;
            while (true)
            {
                ++i;
                if (listNumber.Contains(Number))
                {
                    Number = GetNumber();
                }
                else
                {
                    break;
                }

                if (i > 10)
                {
                    LogHelper.WriteLog("GetNumber已经执行了{i}次!");
                }

            }
            return Number;
        }

        /// <summary>
        /// 获取编码。随机数
        /// </summary>
        /// <returns></returns>
        public static string GetNumber2(int Length, List<string> listNumber)
        {
            string Number = GetNumber2(Length);
            int i = 0;
            while (true)
            {
                ++i;
                if (listNumber.Contains(Number))
                {
                    Number = GetNumber2(Length);
                }
                else
                {
                    break;
                }

                if (i > 10)
                {
                    LogHelper.WriteLog("GetNumber已经执行了{i}次!");
                }

            }
            return Number;
        }

        /// <summary>
        /// 包含大写英文和数字、去掉字母I和O
        /// </summary>
        private static char[] constant =
        {
        ‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,
        ‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘J‘,‘K‘,‘L‘,‘M‘,‘N‘,‘P‘,‘Q‘,‘R‘,‘S‘,‘T‘,‘U‘,‘V‘,‘W‘,‘X‘,‘Y‘,‘Z‘
        };

        /// <summary>
        /// 获取编码。包含大写英文和数字、去掉字母I和O
        /// </summary>
        /// <returns></returns>
        public static string GenerateCode(int Length)
        {
            Thread.Sleep(10);
            StringBuilder newRandom = new StringBuilder(34);
            Random rd = new Random();
            for (int i = 0; i < Length; i++)
            {
                newRandom.Append(constant[rd.Next(34)]);
            }
            return newRandom.ToString();
        }

        /// <summary>
        /// 获取编码。包含大写英文和数字、去掉字母I和O
        /// </summary>
        /// <returns></returns>
        public static string GenerateCode(int Length, List<string> listNumber)
        {
            string Number = GenerateCode(Length);
            int i = 0;
            while (true)
            {
                ++i;
                if (listNumber.Contains(Number))
                {
                    Number = GenerateCode(Length);
                }
                else
                {
                    break;
                }
                if (i > 10)
                {
                    LogHelper.WriteLog($"GenerateCode已经执行了{i}次!");
                }
            }
            return Number;
        }

        /// <summary>
        /// 获取编码的前缀,年月(格式如:AK,表示2018年11月)
        /// </summary>
        /// <returns></returns>
        public static string GetCodePerfix()
        {
            var dtNow = DateTime.Now;
            int thisYear = dtNow.Year;
            int thisMonth = dtNow.Month;

            int year = ‘A‘ + (thisYear - 2018);//从2018年开始
            int month = ‘A‘ + (thisMonth - 1);//从一月开始

            return (char)year + "" + (char)+month;
        }

 

.net工具类——获取编码(生成随机数)

标签:vat   英文   contain   utils   convert   pre   break   contains   ring   

以上就是.net工具类——获取编码(生成随机数)的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
Web前端工程师需要学习的技能清单 css性能优化-will-change CSS之文本两端对齐 这样的广告请再来一打 — background-attachment 初识 CSS Shapes —– (二) 初识 CSS Shapes CSS3– filter(滤镜) chrome transition闪烁BUG
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net