程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#應用時光和隨即字符串創立獨一的定單編號

C#應用時光和隨即字符串創立獨一的定單編號

編輯:C#入門知識

C#應用時光和隨即字符串創立獨一的定單編號。本站提示廣大學習愛好者:(C#應用時光和隨即字符串創立獨一的定單編號)文章只能為提供參考,不一定能成為您想要的結果。以下是C#應用時光和隨即字符串創立獨一的定單編號正文


應用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();
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved