GUID转换成16位字符串或19位数据(确保唯一)

  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;  
  11. }  

posted on   大西瓜3721  阅读(1188)  评论(1编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示

导航

点击右上角即可分享
微信分享提示