栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

c#:guid和string互转 &guid不区分大小写

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#:guid和string互转 &guid不区分大小写

环境:

  • window 10
  • vs2022
  • .net core 3.1
//共5中格式: NDBPX 默认:D
var guid = Guid.Parse("a66cc049-edee-426d-9aa2-dea498149b8d");
Console.WriteLine(guid.ToString("N"));//a66cc049edee426d9aa2dea498149b8d
Console.WriteLine(guid.ToString("D"));//a66cc049-edee-426d-9aa2-dea498149b8d
Console.WriteLine(guid.ToString("B"));//{a66cc049-edee-426d-9aa2-dea498149b8d}
Console.WriteLine(guid.ToString("P"));//(a66cc049-edee-426d-9aa2-dea498149b8d)
Console.WriteLine(guid.ToString("X"));//{0xa66cc049,0xedee,0x426d,{0x9a,0xa2,0xde,0xa4,0x98,0x14,0x9b,0x8d}}

var guidN = Guid.Parse("a66cc049edee426d9aa2dea498149b8d");
var guidD = Guid.Parse("a66cc049-edee-426d-9aa2-dea498149b8d");
var guidB = Guid.Parse("{a66cc049-edee-426d-9aa2-dea498149b8d}");
var guidP = Guid.Parse("(a66cc049-edee-426d-9aa2-dea498149b8d)");
var guidX = Guid.Parse("{0xa66cc049,0xedee,0x426d,{0x9a,0xa2,0xde,0xa4,0x98,0x14,0x9b,0x8d}}");

Console.WriteLine(guid == guidN);//true
Console.WriteLine(guid == guidD);//true
Console.WriteLine(guid == guidB);//true
Console.WriteLine(guid == guidP);//true
Console.WriteLine(guid == guidX);//true

//使用ParseExact时,当知道guid格式时可以指定 "NDBPX"中的一个,如果不知道就不要指定,指定的与实际的不符会报错
Guid.ParseExact("a66cc049edee426d9aa2dea498149b8d", "N");//正常
Guid.ParseExact("a66cc049edee426d9aa2dea498149b8d", "P");//报错

另外: guid不区分大小写

为什么不区分大小写,因为:guid是一种由算法生成的二进制长度为128位的数字标识符。
上面列举的几种形式只是guid转换到string的不同表现,但Guid本身是二进制,所以没有大小写的说法。

测试代码如下:

Guid g1 = new Guid("6d025d37-a957-44b1-9e25-50d6bfd57a39");
Guid g2 = new Guid("6D025D37-A957-44B1-9E25-50D6BFD57A39");
Console.WriteLine(g1.Equals(g2));//true
Console.WriteLine(Guid.ReferenceEquals(g1, g2));//false
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905278.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号