短GUID

[csharp] view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. /// <summary>  
  2. /// 根據GUID獲取16位的惟一字符串  
  3. /// </summary>  
  4. /// <param name=\"guid\"></param>  
  5. /// <returns></returns>  
  6. public static string GuidTo16String()  
  7. {  
  8.     long i = 1;  
  9.     foreach (byte b in Guid.NewGuid().ToByteArray())  
  10.         i *= ((int)b + 1);  
  11.     return string.Format("{0:x}", i - DateTime.Now.Ticks);  
  12. }  
  13. /// <summary>  
  14. /// 根據GUID獲取19位的惟一數字序列  
  15. /// </summary>  
  16. /// <returns></returns>  
  17. public static long GuidToLongID()  
  18. {  
  19.     byte[] buffer = Guid.NewGuid().ToByteArray();  
  20.     return BitConverter.ToInt64(buffer, 0);  
  21. }   
[csharp] view plain copy print ? 在CODE上查看代碼片 派生到個人代碼片
 
  1. /// <summary>  
  2. /// 生成22位惟一的數字 併發可用  
  3. /// </summary>  
  4. /// <returns></returns>  
  5. public static string GenerateUniqueID()  
  6. {  
  7.     System.Threading.Thread.Sleep(1); //保證yyyyMMddHHmmssffff惟一  
  8.     Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));  
  9.     string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);  
  10.     return strUnique;  
相關文章
相關標籤/搜索