C#利用時間和隨即字符串創(chuàng)建唯一的訂單編號
更新時間:2016年03月28日 11:48:21 作者:Darren Ji
本文介紹了利用時間和隨機字符串組合生成唯一訂單號的示例,從而保證訂單號不會重復,希望能夠對大家有所幫助。
使用RNGCryptoServiceProvider類創(chuàng)建唯一的最多8位數(shù)字符串,再在前面拼接上年月日時分秒產(chǎn)生的字符串,最大限度的保證生成的字符串是唯一的。
大家也可以根據(jù)自己的需求修改,日期可以取值到毫秒,這樣更能保證生成的字符串是唯一的。
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();
}
然后調用方法,如下做了演示,每次產(chǎn)生的結果都不一樣
for (int i = 0; i < 10; i++)
{
string str = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), GetUniqueKey());
Console.WriteLine(str);
}
Console.ReadKey();
您可能感興趣的文章:
相關文章
完成OSS.Http底層HttpClient重構封裝 支持標準庫
OSS.Http項目對于.Net Standard標準庫的支持已經(jīng)遷移完畢,OSS開源系列兩個最底層的類庫已經(jīng)具備跨運行時支持的能力。本篇文章主要包含 1. HttpClient的介紹,2. 重構的思路, 3. 容易遇到的問題。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
C#實現(xiàn)定時任務Task Scheduler的示例代碼
這篇文章主要為大家詳細介紹了C#實現(xiàn)定時任務Task Scheduler的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-02-02

