短GUID

  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. }   
  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;  
原文地址:https://www.cnblogs.com/foreveryu/p/5137643.html