在 C# 里,生成 GUID 一般用 Guid.NewGuid(),它会生成一个全局唯一标识符。默认是 32位16进制数+连字符 的格式,例如:

f4e3a4d9-49c7-49fb-b240-26b278dcb81d

不过 Guid 自带的 ToString(string format) 方法可以输出不同格式。常见的格式符有:

格式符 示例 说明
"N" f4e3a4d949c749fbb24026b278dcb81d 32位数字,不带连字符
"D" f4e3a4d9-49c7-49fb-b240-26b278dcb81d 默认格式,带连字符
"B" {f4e3a4d9-49c7-49fb-b240-26b278dcb81d} 带大括号
"P" (f4e3a4d9-49c7-49fb-b240-26b278dcb81d) 带小括号
"X" {0xf4e3a4d9,0x49c7,0x49fb,{0xb2,0x40,0x26,0xb2,0x78,0xdc,0xb8,0x1d}} 带十六进制常量格式

示例代码

using System;

class Program
{
    static void Main()
    {
        Guid guid = Guid.NewGuid();
        
        Console.WriteLine("N 格式: " + guid.ToString("N"));
        Console.WriteLine("D 格式: " + guid.ToString("D"));
        Console.WriteLine("B 格式: " + guid.ToString("B"));
        Console.WriteLine("P 格式: " + guid.ToString("P"));
        Console.WriteLine("X 格式: " + guid.ToString("X"));
    }
}

输出示例(每次运行不同):

N 格式: f4e3a4d949c749fbb24026b278dcb81d
D 格式: f4e3a4d9-49c7-49fb-b240-26b278dcb81d
B 格式: {f4e3a4d9-49c7-49fb-b240-26b278dcb81d}
P 格式: (f4e3a4d9-49c7-49fb-b240-26b278dcb81d)
X 格式: {0xf4e3a4d9,0x49c7,0x49fb,{0xb2,0x40,0x26,0xb2,0x78,0xdc,0xb8,0x1d}}

要是你想 自定义格式(比如全大写、去掉一部分等),可以在 ToString("N") 之后再用字符串处理:

string customGuid = Guid.NewGuid().ToString("N").ToUpper();
Console.WriteLine(customGuid); // 全大写无连字符
``