C#生成Guid的6种方式

本文深入探讨了GUID(全局唯一标识符)的概念及其在Windows平台上的应用,详细介绍了GUID的生成算法与作用,同时提供了六种不同的GUID生成方法示例。

GUID (全局唯一标识符)

GUID一词有时也专指微软对UUID标准的实现。

在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2128(3.4×1038)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。

以下是收集的6种生成Guid的方法

1 var uuid = Guid.NewGuid().ToString(); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12
2 var uuidN = Guid.NewGuid().ToString(“N”); // e0a953c3ee6040eaa9fae2b667060e09
3 var uuidD = Guid.NewGuid().ToString(“D”); // 9af7f46a-ea52-4aa3-b8c3-9fd484c2af12
4 var uuidB = Guid.NewGuid().ToString(“B”); // {734fd453-a4f8-4c5d-9c98-3fe2d7079760}
5 var uuidP = Guid.NewGuid().ToString(“P”); // (ade24d16-db0f-40af-8794-1e08e2040df3)
6 var uuidX = Guid.NewGuid().ToString(“X”); // {0x3fa412e3,0x8356,0x428f,{0xaa,0x34,0xb7,0x40,0xda,0xaf,0x45,0x6f}}

C#中,可使用`Guid`类生成全局唯一标识符(GUID)。以下是几种生成GUID的方法及示例代码: ### 基本生成方法 使用`Guid.NewGuid()`方法创建一个新的`Guid`对象,再将其输出。 ```csharp using System; public class Example { public static void Main() { Guid guid = Guid.NewGuid(); Console.WriteLine(guid); } } ``` ### 不同格式的生成方法 可通过`ToString()`方法的不同参数,将生成的`Guid`对象转换为不同格式的字符串。 ```csharp using System; class Program { static void Main() { // 默认格式,如:db2429d9-872c-4799-b6e5-b239b878e933 string guid = Guid.NewGuid().ToString(); // 无分隔符格式,如:db2429d9872c4799b6e5b239b878e933 string guidN = Guid.NewGuid().ToString("N"); // 大括号格式,如:{db2429d9-872c-4799-b6e5-b239b878e933} string guidB = Guid.NewGuid().ToString("B"); // 小括号格式,如:(db2429d9-872c-4799-b6e5-b239b878e933) string guidP = Guid.NewGuid().ToString("P"); // 扩展格式,如:{0xec43ff47,0xb913,0x400c,{0x9b,0x8d,0x07,0x2e,0x15,0x01,0x30,0x29}} string guidX = Guid.NewGuid().ToString("X"); Console.WriteLine(guid); Console.WriteLine(guidN); Console.WriteLine(guidB); Console.WriteLine(guidP); Console.WriteLine(guidX); } } ``` 全局唯一标识符(GUID)是一种由算法生成的二进制长度为128位的数字标识符,主要用于多节点、多计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID,但随机生成两个相同GUID的可能性虽小但不为0,因此用于生成GUID的算法通常会加入非随机的参数(如时间),以避免重复情况发生[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值