最近在看到小伙伴直接使用 Guid.ToString 方法,我告诉他需要使用 Guid.ToString(“N”) 的方式输出字符串 ,为什么需要使用 N 这个参数呢,因为默认的是参数 D 在输出的时候会出现连字符
Guid 是 Globally Unique Identifier 全局唯一标识符的缩写,是一种由算法生成的唯一标识,在 C# dotnet 里面的 Guid 类是微软的UUID标准的实现。
Guid.ToString 里面可以添加下面几个参数,“N”,“D”,“B”,“P”,“X” 等
如果直接使用 Guid.ToString()
那么就是使用 “D” 这个参数,添加了这个参数之后的输出格式大概如下,也就是在字符串中添加连字符
如果使用 “N” 那么就是只有32位数字,没有连字符,这里的数字是 16 进制表示的,也就是说字符串有 a-f 这几个英文字符和 0-9 的数字
在我的业务里面,没有连字符看起来比较好看,于是我就建议小伙伴使用 Guid 的字符串输出的时候加上 N 这个参数
而在 Guid 格式化输出里面,可以选的参数中的 B 和 P 这只是在使用括号包字符串,如以下代码
从代码可以看到 B 使用 {
括号包含内容 ,使用参数 P 将使用 (
括号包含内容
在 Guid 格式化中的最特殊的是 x 参数,他会存在 4 个数字,最后一个数字是 8 个数字组合的,如下面代码
GUID 转 int
一个 GUID 需要 16 个 byte 也就是 4 个 int 才能组成,可以使用下面的方法转换
参见:全局唯一标识符 - 维基百科,自由的百科全书
原文链接: http://blog.lindexi.com/post/C-GUID-ToString-
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。