C#利用時間和隨即字符串創(chuàng)建唯一的訂單編號
更新時間:2016年03月28日 11:48:21 作者:Darren Ji
本文介紹了利用時間和隨機字符串組合生成唯一訂單號的示例,從而保證訂單號不會重復(fù),希望能夠?qū)Υ蠹矣兴鶐椭?/div>
使用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(); }
然后調(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)庫
OSS.Http項目對于.Net Standard標(biāo)準(zhǔn)庫的支持已經(jīng)遷移完畢,OSS開源系列兩個最底層的類庫已經(jīng)具備跨運行時支持的能力。本篇文章主要包含 1. HttpClient的介紹,2. 重構(gòu)的思路, 3. 容易遇到的問題。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02C#實現(xiàn)定時任務(wù)Task Scheduler的示例代碼
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)定時任務(wù)Task Scheduler的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02C#設(shè)計模式之Facade外觀模式解決天河城購物問題示例
這篇文章主要介紹了C#設(shè)計模式之Facade外觀模式解決天河城購物問題,簡單描述了外觀模式的定義并結(jié)合具體實例分析了外觀模式解決購物問題的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-09-09