C#中Guid.ToString (String)五种格式,以及将32位的GUID转为16位及其他格式
注意:本内容来自: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位及其他格式相关推荐
- 在 Java 中初始化 List 的五种方法
转载自 在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 List< ...
- 职场中不可深交的五种人
在工作遇到困难的时候,满腹牢骚是无济于事的,要抱有正面的态度,着眼于有益的事情.清楚你的人生目标.使命及长远计划,列出一份你个人的成绩及获得的利益,每当你怀疑的时候,便拿来作参考.与抱有正面理想的人为 ...
- css样式加入的法方,初学必知:XHTML网页中加入CSS的五种方_css
在Xhtml网页中如何加入css呢?这篇教程告诉大家引入CSS的几种方式. XHTML文件是通过CSS样式进行显示的控制的,也就是结合XHTML与CSS来表现页面内容.那么到底有哪些方式在XHTML文 ...
- mysql中insert语句的五种用法
文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...
- countif函数比较两列不同_Excel中COUNTIF函数的五种必学使用技巧
原标题:Excel中COUNTIF函数的五种必学使用技巧 院长大大丨图文 教程基于Excel 2016 提起COUNTIF函数,各位小伙伴都知道它的含义是条件计数.但这个简单的计数函数,却可以引申出很 ...
- php批量请求url_php中请求url的五种方法总结
本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 五种方法: 前三种都是php基本的文件操作函数 curl()是php扩展需要开启,l ...
- java中三种转string的方法_java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- Java中遍历Map的五种方式
方法一:在for循环中遍历value Map<String, String> map = new HashMap();map.put("开发", "开发&qu ...
- Kotlin中单利常用的五种写法
前言 单利模式是写代码过程中不可避免用到的,下面我总结一下单利常用的五种写法,话不多说了,来一起看看详细的介绍吧 加载类时创建单利 Java实现 public class Config{ privat ...
最新文章
- SQL Server DBA常见面试 笔试问题
- JAVA继承类phone_JAVA(9)继承与多态
- 验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和
- ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法
- 更改IE浏览器的收藏夹位置
- 越狱Season 1- Episode 16
- jquery的选择器之-表单对象属性过滤选择器
- html页面画一个矩形,使用HTML5 canvas绘制一个矩形的方法
- 《软件工程与实践》第三版 软工导论知识梳理总结
- 第四届“传智杯”全国大学生IT技能大赛(决赛B组)
- 计算机设备安装属于劳务吗,安装属于劳务还是服务?
- pic单片机流水灯循环右移c语言,PIC单片机流水灯程序
- 文本标注开源系统Doccano、Label Studio、BRAT比较
- WPS表格如何隔行填充颜色
- 文字烟雾消散特效制作
- 【容斥】2017 ACM Arabella Collegiate Programming Contest
- 网站长尾关键词怎么布局 提升搜索排名
- 融合收敛因子和樽海鞘群的蝴蝶优化算法
- docker报错:System has not been booted with systemd as init system (PID 1). Can‘t operate.
- raf是什么格式?raf格式用什么软件打开?raf格式怎么转换成jpg
热门文章
- 凯立德导航地图文件的作用分项说明(转帖留存)
- 根据地址生成客户地图及热力图(百度地图API)
- day24/MyIE.java
- 暗影精灵3+ ubuntu18.04 安装显卡驱动
- android 网易云音乐上滑动画,Android_Activity切换动画OverridePendingTransition(Cover 网易云音乐动画)...
- java ndk_NDK开发学习笔记之 javah 及 ndk-build
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java疫情防控管理系统02vsf
- Unity3D 2021.1.2F1 发布了。赋国际版本下载地址。
- js 随机选取动画_jquery实现随机运动动画
- 360手机卫士插件化RePlugin今日开源,官方全面解读