注意:本内容来自:C#中Guid.ToString Method (String)五种格式,以及将将32位的GUID转为16位及其他格式

一、生成各种格式的32位GUID 
System.Guid.NewGuid().ToString()全球唯一标识符 (GUID是微软对UUID的标准实现)
(GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用GUID。 
①GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID值。 
②GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 
应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。 
③Guid.NewGuid()是指生成唯一码的规则 
System.Guid.NewGuid().ToString(format); 
说明符 返回值的格式N 32位字符:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxD 由连字符分隔的 32 位数字: 
 

该图来自:https://docs.microsoft.com/en-us/dotnet/api/system.guid.tostring?redirectedfrom=MSDN&view=netframework-4.8#System_Guid_ToString_System_String

        /// <summary>/// 获取GUID的方法(默认是有连接符的32位数字)/// </summary>/// <param name="gUIDType">GUID的生成类型</param>/// <returns>返回GUID的字符串</returns>public string GetGUID(GUIDType gUIDType=GUIDType.D){string tmpGUID=string.Empty;switch (gUIDType){case GUIDType.N://标识符N的生成格式(没有连接符的32位数字)tmpGUID = Guid.NewGuid().ToString(GUIDType.N.ToString());break;case GUIDType.D://标识符N的生成格式(有连接符的32位数字)tmpGUID = Guid.NewGuid().ToString(GUIDType.D.ToString());break;case GUIDType.B://标识符N的生成格式(有连接符和花括号的32位数字)tmpGUID = Guid.NewGuid().ToString(GUIDType.B.ToString());break;case GUIDType.P://标识符N的生成格式(有连接符和括号的32位数字)tmpGUID = Guid.NewGuid().ToString(GUIDType.P.ToString());break;case GUIDType.X://标识符N的生成格式(四个十六进制值用大括号括起来,其中第四个值是八个十六进制值的子集,这些值也用大括号括起来)tmpGUID = Guid.NewGuid().ToString(GUIDType.X.ToString());break;default:break;}return tmpGUID;}//五种生成GUID的枚举public enum GUIDType{N,D,B,P,X,}

二、生成16位GUID  

        /// <summary>/// 根据GUID生成16位的唯一ID/// </summary>/// <returns></returns>public string GUIDTO16(){long lg = 1;foreach (byte b in Guid.NewGuid().ToByteArray()){lg *= ((int)b+1);}string tmp = string.Format("{0:x}",lg-DateTime.Now.Ticks);return tmp;}

三、生成22位的唯一数字,并发可用

        /// <summary>/// 生成22位的唯一数字,并发可用/// </summary>/// <returns></returns>public string GetUniqueIDTO22(){System.Threading.Thread.Sleep(1);//保证yyyyMMddHHmmssffff唯一Random rd = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(),0));string strUniqueID = DateTime.Now.ToString("yyyyMMddHHmmssffff")+rd.Next(1000,9999);return strUniqueID;}

C#中Guid.ToString (String)五种格式,以及将32位的GUID转为16位及其他格式相关推荐

  1. 在 Java 中初始化 List 的五种方法

    转载自  在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 List< ...

  2. 职场中不可深交的五种人

    在工作遇到困难的时候,满腹牢骚是无济于事的,要抱有正面的态度,着眼于有益的事情.清楚你的人生目标.使命及长远计划,列出一份你个人的成绩及获得的利益,每当你怀疑的时候,便拿来作参考.与抱有正面理想的人为 ...

  3. css样式加入的法方,初学必知:XHTML网页中加入CSS的五种方_css

    在Xhtml网页中如何加入css呢?这篇教程告诉大家引入CSS的几种方式. XHTML文件是通过CSS样式进行显示的控制的,也就是结合XHTML与CSS来表现页面内容.那么到底有哪些方式在XHTML文 ...

  4. mysql中insert语句的五种用法

    文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...

  5. countif函数比较两列不同_Excel中COUNTIF函数的五种必学使用技巧

    原标题:Excel中COUNTIF函数的五种必学使用技巧 院长大大丨图文 教程基于Excel 2016 提起COUNTIF函数,各位小伙伴都知道它的含义是条件计数.但这个简单的计数函数,却可以引申出很 ...

  6. php批量请求url_php中请求url的五种方法总结

    本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 五种方法: 前三种都是php基本的文件操作函数 curl()是php扩展需要开启,l ...

  7. java中三种转string的方法_java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  8. Java中遍历Map的五种方式

    方法一:在for循环中遍历value Map<String, String> map = new HashMap();map.put("开发", "开发&qu ...

  9. Kotlin中单利常用的五种写法

    前言 单利模式是写代码过程中不可避免用到的,下面我总结一下单利常用的五种写法,话不多说了,来一起看看详细的介绍吧 加载类时创建单利 Java实现 public class Config{ privat ...

最新文章

  1. SQL Server DBA常见面试 笔试问题
  2. JAVA继承类phone_JAVA(9)继承与多态
  3. 验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和
  4. ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法
  5. 更改IE浏览器的收藏夹位置
  6. 越狱Season 1- Episode 16
  7. jquery的选择器之-表单对象属性过滤选择器
  8. html页面画一个矩形,使用HTML5 canvas绘制一个矩形的方法
  9. 《软件工程与实践》第三版 软工导论知识梳理总结
  10. 第四届“传智杯”全国大学生IT技能大赛(决赛B组)
  11. 计算机设备安装属于劳务吗,安装属于劳务还是服务?
  12. pic单片机流水灯循环右移c语言,PIC单片机流水灯程序
  13. 文本标注开源系统Doccano、Label Studio、BRAT比较
  14. WPS表格如何隔行填充颜色
  15. 文字烟雾消散特效制作
  16. 【容斥】2017 ACM Arabella Collegiate Programming Contest
  17. 网站长尾关键词怎么布局 提升搜索排名
  18. 融合收敛因子和樽海鞘群的蝴蝶优化算法
  19. docker报错:System has not been booted with systemd as init system (PID 1). Can‘t operate.
  20. raf是什么格式?raf格式用什么软件打开?raf格式怎么转换成jpg

热门文章

  1. 凯立德导航地图文件的作用分项说明(转帖留存)
  2. 根据地址生成客户地图及热力图(百度地图API)
  3. day24/MyIE.java
  4. 暗影精灵3+ ubuntu18.04 安装显卡驱动
  5. android 网易云音乐上滑动画,Android_Activity切换动画OverridePendingTransition(Cover 网易云音乐动画)...
  6. java ndk_NDK开发学习笔记之 javah 及 ndk-build
  7. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情防控管理系统02vsf
  8. Unity3D 2021.1.2F1 发布了。赋国际版本下载地址。
  9. js 随机选取动画_jquery实现随机运动动画
  10. 360手机卫士插件化RePlugin今日开源,官方全面解读