在 8 个字符处向字符串添加一次 `-` ,然后再在 4 个字符处添加一次?
Adding a `-` to a string once at 8 chars, then again at 4?
过去一个小时我一直在尝试这样做,这让我发疯了。
我正在尝试获取具有正确格式(带破折号)的 Minecraft UUID,但我使用的 API 以常规格式提供它。
What I have: 7a4730f8f948471dbc77f6f71a250f87
Proper format: 7a4730f8-f948-471d-bc77-f6f71a250f87
我该如何格式化这样的字符串?
.NET 框架有一个 Guid
class。您可以调用构造函数并使用 .ToString()
来获取上述格式。例如:
csharp> new Guid("7a4730f8f948471dbc77f6f71a250f87")
7a4730f8-f948-471d-bc77-f6f71a250f87
csharp> new Guid("7a4730f8f948471dbc77f6f71a250f87").ToString()
"7a4730f8-f948-471d-bc77-f6f71a250f87"
如果您在内部处理 UUID,我建议您使用 GUID
class 而不是字符串:因为现在您可以轻松比较两个 GUID 等
此外,我希望.NET框架中的错误比用户创建的代码中的错误少(不是因为他们能力差,而是因为.NET框架的用户数量很大,很容易发现错误并解决了)。
过去一个小时我一直在尝试这样做,这让我发疯了。 我正在尝试获取具有正确格式(带破折号)的 Minecraft UUID,但我使用的 API 以常规格式提供它。
What I have:
7a4730f8f948471dbc77f6f71a250f87
Proper format:
7a4730f8-f948-471d-bc77-f6f71a250f87
我该如何格式化这样的字符串?
.NET 框架有一个 Guid
class。您可以调用构造函数并使用 .ToString()
来获取上述格式。例如:
csharp> new Guid("7a4730f8f948471dbc77f6f71a250f87")
7a4730f8-f948-471d-bc77-f6f71a250f87
csharp> new Guid("7a4730f8f948471dbc77f6f71a250f87").ToString()
"7a4730f8-f948-471d-bc77-f6f71a250f87"
如果您在内部处理 UUID,我建议您使用 GUID
class 而不是字符串:因为现在您可以轻松比较两个 GUID 等
此外,我希望.NET框架中的错误比用户创建的代码中的错误少(不是因为他们能力差,而是因为.NET框架的用户数量很大,很容易发现错误并解决了)。