.net中GUID转字符串可通过ToString()方法实现,支持D、N、B、P等格式化选项,分别用于标准输出、紧凑传输、大写包装等场景,还可通过Parse或TryParse将字符串安全解析回GUID。

.NET 中将 GUID 转换为字符串非常简单,系统提供了多种格式化方式来满足不同场景需求。GUID 本质上是一个 128 位的唯一标识符,通常用于数据库主键、会话标识或分布式系统中的唯一性保证。在实际开发中,经常需要将其转换为可读或可传输的字符串形式。
使用 ToString() 方法转换 GUID 为字符串
ToString() 是最常用的方式,能将 Guid 对象转换为标准格式的字符串。
- 默认调用 ToString() 会返回带连字符的小写格式,如:
936da01f-9abd-4d9d-80c7-02af85c822a8 - 适用于大多数日志记录、数据库存储和 API 输出场景
示例代码:
Guid guid = Guid.NewGuid(); string str = guid.ToString(); // 结果:936da01f-9abd-4d9d-80c7-02af85c822a8 Console.WriteLine(str);
使用格式说明符自定义 GUID 字符串输出
.NET 支持通过格式参数控制 GUID 的字符串表现形式,常用的格式有:
- D – 默认格式(小写,带连字符):
936da01f-9abd-4d9d-80c7-02af85c822a8 - N – 无分隔符的纯数字字母:
936da01f9abd4d9d80c702af85c822a8 - B – 带花括号的大写格式:
{936DA01F-9ABD-4D9D-80C7-02AF85C822A8} - P – 带圆括号的格式:
(936da01f-9abd-4d9d-80c7-02af85c822a8)
示例代码:
Guid guid = Guid.NewGuid(); Console.WriteLine(guid.ToString("D")); // 默认格式 Console.WriteLine(guid.ToString("N")); // 无分隔符 Console.WriteLine(guid.ToString("B")); // 大括号+大写 Console.WriteLine(guid.ToString("P")); // 圆括号
从字符串解析回 GUID
如果已有 GUID 字符串,可以使用 Guid.Parse() 或 Guid.TryParse() 转换回 Guid 对象。
- Parse:直接转换,输入非法会抛异常
- TryParse:安全转换,返回布尔值表示是否成功
示例代码:
string str = "936da01f-9abd-4d9d-80c7-02af85c822a8"; Guid parsedGuid = Guid.Parse(str); <p>// 安全方式 if (Guid.TryParse(str, out Guid result)) { Console.WriteLine("转换成功:" + result); } else { Console.WriteLine("无效的 GUID 字符串"); }
基本上就这些。根据实际需要选择合适的格式即可,不复杂但容易忽略细节。比如 URL 传输时常用 N 格式减少长度,而日志中推荐 D 格式便于阅读。


