Guid ToString 格式
2013-11-12 18:31
375 查看
转自 /article/5151555.html
在日常编程中,Guid是比较常用的,最常见的使用就是如下所示:
这条语句会生成一个新的Guid并转成字符串,如下:
// 10244798-9a34-4245-b1ef-9143f9b1e68a
但是还有一些情况下,我们会有一些细节上的差异,如:
前后有大括号{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
中间没有连字符 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
前后是圆括号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
遇到这种情况就比较麻烦了,最常见的一种就是自己把guid生成的字符串解析处理,比如加括号,或者把连字符用空字符替换掉等:
其实不用这么麻烦的,在ToString的时候,有一个重载的函数:
通过传入格式化字符串,就可以输出这种类型的guid 字符串了。
示例如下:
注意:这里的D,N,B,P是不区分大小写的,如果传入空字符串,则使用的默认的D类型,其它情况都会报异常。
在MSDN中查询到还有一种“X”类型,但是我在.NetFx 3.5下,使用时会弹出异常:
在日常编程中,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-9143f9b1e68a Console.WriteLine(guid.ToString("D")); // 102447989a344245b1ef9143f9b1e68a Console.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)
在 System.Guid.ToString(String format, IFormatProvider provider)
相关文章推荐
- String,StringBuffer与StringBuilder的区别
- hdu3397Sequence operation(线段树,段异或,段覆盖,段查找)
- UITexfield
- 关于UIView的显示问题
- UIButton不能实现image和title共存的问题
- Your build settings specify a provisioning profile with the UUID, no provisioning profile was
- ZooKeeper实现分布式队列Queue
- PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别
- 16.GUI【图形用户界面】
- 【转】suid sgid 详解
- requirejs 优化压缩
- Symmetry Methods for Differential Equations,A Beginner's Guide,Example 1.3
- 1007. Maximum Subsequence Sum (25)
- [Qt教程] 第23篇 数据库(三)利用QSqlQuery类执行SQL语句
- N_Queens
- 串行(Sequential)、并发(Concurrent)、并行(parallel)与分布式(distributed)
- UITextView使用笔记
- 2.25 Presenting Master-Detail Views with UISplitViewController
- 将UIView转成UIImage,将UIImage转成PNG/JPG
- 简单模拟Android中AlertDialog的Builder设计模式