手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#利用时间和随即字符串创建唯一的订单编号
C#利用时间和随即字符串创建唯一的订单编号
摘要:使用RNGCryptoServiceProvider类创建唯一的最多8位数字符串,再在前面拼接上年月日时分秒产生的字符串,最大限度的保证生成...

使用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();

【C#利用时间和随即字符串创建唯一的订单编号】相关文章:

C#动态执行字符串(动态创建代码)的实例代码

C# Split分隔字符串的应用(C#、split、分隔、字符串)

c#中分割字符串的几种方法

c#完美截断字符串代码(中文+非中文)

C# 常用日期时间函数(老用不熟)

C# 去除首尾字符或字符串的方法

c#中判断字符串是不是数字或字母的方法

C# 判断字符串为空的几种办法

C# 利用StringBuilder提升字符串拼接性能的小例子

C#几种截取字符串的方法小结

精品推荐
分类导航