在日常编程中,Guid是比较常用的,最常见的使用就是如下所示: string id = Guid.NewGuid().ToString(); 这条语句会生成一个新的Guid并转成字符串,如下: // 10244798-9a34-4245-b1ef-9143f9b1e68a 但是还有一些情况下,我们会有一些细节上的差异,如:
遇到这种情况就比较麻烦了,最常见的一种就是自己把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”。 |
|