博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Guid ToString 格式
阅读量:5074 次
发布时间:2019-06-12

本文共 1258 字,大约阅读时间需要 4 分钟。

http://www.cnblogs.com/greenerycn/archive/2010/04/25/guid_tostring_format.html

 

在日常编程中,Guid是比较常用的,最常见的使用就是如下所示:

string id = Guid.NewGuid().ToString();

这条语句会生成一个新的Guid并转成字符串,如下:

// 10244798-9a34-4245-b1ef-9143f9b1e68a

但是还有一些情况下,我们会有一些细节上的差异,如:

  • 前后有大括号{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
  • 中间没有连字符 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 前后是圆括号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

遇到这种情况就比较麻烦了,最常见的一种就是自己把guid生成的字符串解析处理,比如加括号,或者把连字符用空字符替换掉等:

var str = guid.ToString();var id = "{" + str + "}";var id2 = str.Replace("-", "");var id3 = "(" + str + ")";

 

其实不用这么麻烦的,在ToString的时候,有一个重载的函数:

ToString(String)

通过传入格式化字符串,就可以输出这种类型的guid 字符串了。

示例如下:

var guid = Guid.NewGuid();// 10244798-9a34-4245-b1ef-9143f9b1e68aConsole.WriteLine(guid.ToString("D"));// 102447989a344245b1ef9143f9b1e68aConsole.WriteLine(guid.ToString("N"));// {10244798-9a34-4245-b1ef-9143f9b1e68a}Console.WriteLine(guid.ToString("B"));// (10244798-9a34-4245-b1ef-9143f9b1e68a)Console.WriteLine(guid.ToString("P"));

 

注意:这里的D,N,B,P是不区分大小写的,如果传入空字符串,则使用的默认的D类型,其它情况都会报异常。

在MSDN中查询到还有一种“X”类型,但是我在.NetFx 3.5下,使用时会弹出异常:

未处理的异常:  System.FormatException: 格式字符串只能是“D”、“d”、“N”、“n ”、“P”、“p”、“B”或“b”。 
   在 System.Guid.ToString(String format, IFormatProvider provider)

转载于:https://www.cnblogs.com/tianciliangen/p/5620575.html

你可能感兴趣的文章
Linux系统修改Home下的目录为英文
查看>>
进程间通信方式
查看>>
vue项目通过webpack打包生成的dist文件放到express环境里运行(vue+webpack+express)
查看>>
使用spring提供的ReflectionUtils简化项目中反射代码的复杂性
查看>>
NodeJs 工具
查看>>
vue @import css
查看>>
eclipse安装完adt插件后只有一个小图标 还打不开怎么回事
查看>>
触发器中回滚的一点注意事项
查看>>
RESTful API 使用指南
查看>>
algorithm -- 基本介绍
查看>>
C# TextBox控件重写 之NumTextBox
查看>>
Gentoo 安装日记 20 (安装配置开机引导程序grub)
查看>>
linux下光标操作
查看>>
关于android主线程异常NetworkOnMainThread不能访问网络
查看>>
如何获取Class的所有方法
查看>>
golang类型检测
查看>>
面试进阶题集锦-持续更新
查看>>
JavaWeb
查看>>
Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法...
查看>>
MySql-Error: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
查看>>