Guid ToString 格式知多少?
2017-11-13 11:18
211 查看
在日常编程中,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)
以上动图由“图斗罗”提供
相关文章推荐
- Guid ToString 格式知多少?
- Guid ToString 格式知多少?
- asp.net System.Guid ToString五种格式
- Guid ToString 格式
- C# ToString()格式设置大全
- net tostring format格式说明
- C# Tostring() 格式大全
- C#中Guid.ToString Method (String)五种格式
- C# Tostring() 格式大全收藏
- DateTime.Now.ToString()时间格式错误
- C# Tostring() 格式大全
- c# ToString() 格式化字符串 、C# String.Format格式说明 http://linglong117.blog.163.com/blog/static/2771454720
- 【整理】C# ToString格式字符串整理(Format)(数字、日期和枚举的标准格式设置说明符)(SamWang)
- NSDictionary to jsonString || 对象转json格式
- DateTime.Now.ToString()时间格式错误
- [转载]C# ToString格式字符串整理(Format)(数字、日期和枚举的标准格式设置说明符)(SamWang)
- ThinkPHP 连接 sql server 返回日期格式 object TO string
- C# ToString格式说明
- .net ToString()格式统计
- C# Tostring() 格式大全