[c#美味] Guid ToString 格式知多少?
在日常编程中,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)
[c#美味] Guid ToString 格式知多少?的更多相关文章
- Guid ToString 格式知多少?
在日常编程中,Guid是比较常用的,最常见的使用就是如下所示: string id = Guid.NewGuid().ToString(); 这条语句会生成一个新的Guid并转成字符串,如下: // ...
- 利用反射快速给Model实体赋值 使用 Task 简化异步编程 Guid ToString 格式知多少?(GUID 格式) Parallel Programming-实现并行操作的流水线(生产者、消费者) c# 无损高质量压缩图片代码 8种主要排序算法的C#实现 (一) 8种主要排序算法的C#实现 (二)
试想这样一个业务需求:有一张合同表,由于合同涉及内容比较多所以此表比较庞大,大概有120多个字段.现在合同每一次变更时都需要对合同原始信息进行归档一次,版本号依次递增.那么我们就要新建一张合同历史表, ...
- Guid ToString 格式
转自 http://www.cnblogs.com/greenerycn/archive/2010/04/25/guid_tostring_format.html 在日常编程中,Guid是比较常用的, ...
- C#.ToString()格式大全
原文:C#.ToString()格式大全 C#.ToString()格式大全 stringstr1=string.Format("{0:N1}",56789); ...
- C# GUID ToString
最近在看到小伙伴直接使用 Guid.ToString ,我告诉他需要使用 Guid.ToString("N") ,为什么需要使用 N ,因为默认的是 D 会出现连字符. Guid ...
- System.Guid ToString五中格式
参考:https://msdn.microsoft.com/en-us/library/97af8hh4.aspx 测试代码: using System; using System.Collectio ...
- C#中GUID的生成格式(Guid.ToString方法 )
GUID 是微软对UUID这个标准的实现.UUID是由开放软件基金会(OSF)定义的.UUID还有其它各种实现,不止GUID一种 public string ToString( string ...
- C#中ToString()格式详解
以下内容均摘自博客园,仅供资料查询. ToString格式化 在很多对象显示为字符串的时候都会使用到ToString中的格式化,由于以前没怎么注意到这个问题,想总结一下各个基础结构对象的格式化,以便后 ...
- C#中ToString格式大全
更多资源:http://denghejun.github.io C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5&q ...
随机推荐
- SQL 字符替换
--匹配所有字符替换 )),'被替换','替换') --匹配给定位子替换 update 表名 set 列=stuff(列名,从一开始数位数,往后数几位,替换)
- 百度bae定时任务使用方法
最近想做个定时执行某些请求的任务,因为不是java的,不能有常住内存的控制,php不知百度bae云怎么做,找了很久终于被我找到了 https://cloud.baidu.com/doc/BAE/GUI ...
- php class类的用法详细总结
以下是对php中class类的用法进行了详细的总结介绍,需要的朋友可以过来参考下 一:结构和调用(实例化): class className{} ,调用:$obj = new className(); ...
- javascript cookie 操作
<html> <head> <meta charset="utf-8"> <title>Javascript cookie</ ...
- Linux查看目录挂载点
用命令 df 即可 # df /var/lib/ Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 135979984 669 ...
- Python 基础篇:编码、变量、模块
1. 编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASCII). 2. 变量 变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数 ...
- web2py--------------用web2py写 django的例子 --------开发环境
我们先从广为人知的例子说起xi 也就是官方的例子,我会在最后给出代码: ============================环境=================== 编译器使用vs code , ...
- MVC-EditorFor与TextBoxFor的区别
EditorFor会根据后面提供的数据类型自动判断生成的控件类型(比如TextBox,CheckBox等): TextBoxFor生成的只是一个TextBox.
- Catch Application Exceptions in a Windows Forms Application
You need to handle the System.Windows.Forms.Application.ThreadException event for Windows Forms. Thi ...
- C# - 自动属性
使用自动属性时,只能通过属性访问数据,不能通过底层私有字段,因为我们不知道底层私有字段的名称,是编译期间定义的.所以也没法对字段赋值或取值进行校验或限制. 无法使用这种方式定义只读或只写属性.