C#利用時(shí)間和隨即字符串創(chuàng)建唯一的訂單編號(hào)
使用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)文章
完成OSS.Http底層HttpClient重構(gòu)封裝 支持標(biāo)準(zhǔn)庫(kù)
OSS.Http項(xiàng)目對(duì)于.Net Standard標(biāo)準(zhǔn)庫(kù)的支持已經(jīng)遷移完畢,OSS開(kāi)源系列兩個(gè)最底層的類庫(kù)已經(jīng)具備跨運(yùn)行時(shí)支持的能力。本篇文章主要包含 1. HttpClient的介紹,2. 重構(gòu)的思路, 3. 容易遇到的問(wèn)題。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02C#使用doggleReport生成pdf報(bào)表的方法
這篇文章主要介紹了C#使用doggleReport生成pdf報(bào)表的方法,結(jié)合實(shí)例形式分析了C# doggleReport安裝及使用具體操作技巧,需要的朋友可以參考下2017-06-06C#實(shí)現(xiàn)定時(shí)任務(wù)Task Scheduler的示例代碼
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)定時(shí)任務(wù)Task Scheduler的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02Unity3D使用Shader實(shí)現(xiàn)腐蝕消失
這篇文章主要為大家詳細(xì)介紹了Unity3D使用Shader實(shí)現(xiàn)腐蝕消失,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02C#設(shè)計(jì)模式之Facade外觀模式解決天河城購(gòu)物問(wèn)題示例
這篇文章主要介紹了C#設(shè)計(jì)模式之Facade外觀模式解決天河城購(gòu)物問(wèn)題,簡(jiǎn)單描述了外觀模式的定義并結(jié)合具體實(shí)例分析了外觀模式解決購(gòu)物問(wèn)題的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-09-09