【C#学习笔记】【GUID】

C#学习笔记系列

第一章 【C#学习笔记】【StackTrace】
第二章 【C#学习笔记】【Attribute】
第三章 【C#学习笔记】【Interface】
第四章 【C#学习笔记】【GUID】



前言

关于GUID的介绍。


一、GUID介绍

GUID(全局同意标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳米级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。

  1. 一个GUID为一个128位的整数(16字节),总数量达2^128 (3.4X10^38)个,在使用唯一标识符的情况下,你可以在所有计算机和网咯之间使用这一整数。
  2. GUID的格式为"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",其中每个x是一个十六进制的数字。
  3. 世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在拥有多个节点、多态计算机的网络或系统中,分配必须具有唯一性的标识符。
  4. 在Windows平台上,GUID应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

二、使用GUID

.Net Framework提供了专门GUID基础结构。
GUID结构的常用法包括:

Guid.NewGuid()

在这里插入图片描述
生成一个新的GUID唯一值

Guid.NewGuid().ToString()

在这里插入图片描述
将GUID值转换成字符串,便于处理。

Guid guid = new Guid(string);

在这里插入图片描述
使用GUID的构造函数,由string生成GUID结构,其中string可以为大写,也可以是小写,可以包含两端的定界符"{}“或”()“,甚至可以忽略中间的”-",GUID结构的构造函数有很多,其他构造用法并不常用。

格式说明符:N、D、B、P、X

在这里插入图片描述

三、GUID会重复吗?

严格意义上来说,GUID是有可能出现重复的,但是这概率非常低,且绝大多数GUID重复的场景都是使用不当造成的,例如短时间大量产生ID,计算机硬件标识被破坏,时间被修改,采用不用算法算出的GUID,自行发明有缺陷的算法等等。

总结

不积硅步,何以至千里

猜你喜欢

转载自blog.csdn.net/Aflashstar/article/details/128725267
今日推荐