C# 中GUID使用总结

全局唯一标识符(GUID,Globally Unique Identifier)

也称作 UUID(Universally Unique IDentifier) 。

  GUID是一种由算法生成的二进制长度为128位的数字标识符。

  GUID主要用于在拥有多个节点、多台计算机的网络或系统中。

在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。

  (1). GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。

  通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。

  (2). GUID永远是方便的

  对于程序开发的各个方面,.NET Framework简化了建立和处理GUID数值的过程。在.NET程序需要的地方,这一功能很容易地生成唯一的数值。

 缺点优点
           GUID

1. GUID过长,看表现形式,至少都有32位,长的38位,浪费存储空间

 2. GUID是根据硬件设备相关ID以及时间戳生成的

 3. GUID不利于检索、外键关联

 1. 一般来说不担心有冲突的影响,而且,根据GUID的生成规则,还能大致知道生成的计算机硬件设备、时间等信息(但这个有多少意义呢)

2. 能在业务层就知道目标ID,而不是数据提交给数据库系统后才确定

           自增长 1. 多数据库同步、读写分离十分不方便。 1. 使用简单

一、GUID生成格式的四种格式

 
  1. var uuid = Guid.NewGuid().ToString(); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12

  2.  
  3. var uuidN = Guid.NewGuid().ToString("N"); // e0a953c3ee6040eaa9fae2b667060e09

  4.  
  5. var uuidD = Guid.NewGuid().ToString("D"); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12

  6.  
  7. var uuidB = Guid.NewGuid().ToString("B"); // {734fd453-a4f8-4c5d-9c98-3fe2d7079760}

  8.  
  9. var uuidP = Guid.NewGuid().ToString("P"); // (ade24d16-db0f-40af-8794-1e08e2040df3)

  10.  
  11. var uuidX = Guid.NewGuid().ToString("X"); // {0x3fa412e3,0x8356,0x428f,{0xaa,0x34,0xb7,0x40,0xda,0xaf,0x45,0x6f}}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值