C#利用時(shí)間和隨即字符串創(chuàng)建唯一的訂單編號
更新時(shí)間:2016年03月28日 11:48:21 作者:Darren Ji
本文介紹了利用時(shí)間和隨機(jī)字符串組合生成唯一訂單號的示例,從而保證訂單號不會重復(fù),希望能夠?qū)Υ蠹矣兴鶐椭?/div>
使用RNGCryptoServiceProvider類創(chuàng)建唯一的最多8位數(shù)字符串,再在前面拼接上年月日時(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();
}
然后調(diào)用方法,如下做了演示,每次產(chǎn)生的結(jié)果都不一樣
for (int i = 0; i < 10; i++)
{
string str = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), GetUniqueKey());
Console.WriteLine(str);
}
Console.ReadKey();
您可能感興趣的文章:
相關(guān)文章
Unity3D實(shí)現(xiàn)扭動(dòng)擠壓瀏覽效果
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)扭動(dòng)擠壓瀏覽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#?基于NAudio實(shí)現(xiàn)對Wav音頻文件剪切(限PCM格式)
本文主要介紹了C#基于NAudio工具對Wav音頻文件進(jìn)行剪切,可以將一個(gè)音頻文件剪切成多個(gè)音頻文件(限PCM格式),感興趣的小伙伴可以學(xué)習(xí)一下2021-11-11
Unity Shader實(shí)現(xiàn)3D翻頁效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)3D翻頁效果,Plane實(shí)現(xiàn)翻頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別
這篇文章主要介紹了理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別,文中舉了兩段代碼例子來簡單說明,需要的朋友可以參考下2016-01-01

