zoukankan      html  css  js  c++  java
  • C#创建唯一的订单号, 考虑时间因素

    主要是想把日期和其它因素考虑进来。

    使用RNGCryptoServiceProvider类创建唯一的最多8位数字符串。

            private static string GetUniqueKey()
            {
                int maxSize = 8;
                int minSize = 5;
                char[] chars = new char[62];
                string a;
                a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
                chars = a.ToCharArray();
                int size = maxSize;
                byte[] data = new byte[1];
                RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
                crypto.GetNonZeroBytes(data);
                size = maxSize;
                data = new byte[size];
                crypto.GetNonZeroBytes(data);
                StringBuilder result = new StringBuilder(size);
                foreach (byte b in data)
                {
                    result.Append(chars[b % (chars.Length - 1)]);
                }
                return result.ToString();
            }

    然后,

                for(int i = 0; i < 10; i++)
                {
                    string str = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), GetUniqueKey());
                    Console.WriteLine(str);
                }
                Console.ReadKey();
  • 相关阅读:
    day2-元组 列表-赋值和深浅拷贝
    day1-bytes类型 三元运算 进制
    DAY02
    DAY02
    Python格式化、显示颜色
    DAY02
    DAY02
    DAY02
    DAY02
    DAY02
  • 原文地址:https://www.cnblogs.com/darrenji/p/5213295.html
Copyright © 2011-2022 走看看