关于C#中GUID字符串格式化的说明

在C#编程中,GUID是比较常用的,我们常常用它作为一个全球唯一标识的UUID值,其中最常用的是Guid.ToString方法:

// 获取GUID的格式化字符串作为唯一ID
string id = Guid.NewGuid().ToString();

Guid.ToString方法的作用是根据所提供的格式说明符,返回此Guid实例值的十六进制字符串表示形式。方法位于程序集 mscorlib(mscorlib.dll)命名空间System中。

一、语法定义:

/// <summary>
/// 根据所提供的格式说明符,返回此GUID实例值的字符串表示形式
/// </summary>
/// <param name="format">格式说明符</param>
/// <returns>返回GUID字符串</returns>
public string ToString(string format);

二、参数说明:
format:一个单格式说明符,它指示如何格式化此GUID的值。format参数可以是”N”、”D”、”B”、”P”或”X”。如果format为null或空字符串(””),则使用”D”。
以下列出接受的格式说明符format的可选参数。其中“0”表示一个字符,连字符(“-”),大括号(“{”,“}”),括号(“(”,“)”):

“N”:32位字符,例00000000000000000000000000000000

“D”:由连字符分隔的32+4位字符,例00000000-0000-0000-0000-000000000000

“B”:由连字符,括在大括号分隔的32+4+2位字符,例{00000000-0000-0000-0000-000000000000}

“P”:由括在括号中的连字符分隔的32+4+2位数字,例(00000000-0000-0000-0000-000000000000)

“X”:四个十六进制值括在大括号,其中第四个值是也括在大括号的八个十六进制值的子集,例{0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}

其中十六进制字符a到f是小写在返回的字符串中的,若要将它们转换成大写,可以对返回的字符串调用String.ToUpper方法。

三、调用示例:

string guid = Guid.NewGuid().ToString();
string nGuid = Guid.NewGuid().ToString("N");
string dGuid = Guid.NewGuid().ToString("D");
string bGuid = Guid.NewGuid().ToString("B");
string pGuid = Guid.NewGuid().ToString("P");
string xGuid = Guid.NewGuid().ToString("X");

更多信息请参阅:Guid.ToString 方法 (String) (System)