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();
  • 相关阅读:
    有趣的放大镜
    特效代码
    向数据库添加学生信息。存放在REQUEST对象里
    机房servlet过滤器
    冒泡排序法
    验证码 随机生成器 详解
    生成器 种子
    生日
    在字符串里寻找某字符出现的个数
    课堂随笔
  • 原文地址:https://www.cnblogs.com/darrenji/p/5213295.html
Copyright © 2011-2022 走看看