.NET GUID uppercase string format

前提是你 提交于 2019-12-05 00:19:19

do I just need to call myGuid.ToString().ToUpper()

Yep. You could go to the effort of creating a custom IFormatProvider, but it doesn't seem worth it here.

Note that RFC 4122, which defines the UUID specification, stipulates that output hex characters should be in lowercase when converting the structure to a string:

  The hexadecimal values "a" through "f" are output as
  lower case characters and are case insensitive on input.

This may explain why the Guid structure does not support outputting directly as an uppercase string.

Since the ToString format provider parameter is ignored, the only alternative (without simply converting the string to uppercase) would be to directly manipulate the bytes, while taking care to preserve endianness. Simply converting to uppercase (either directly or through an extension method) is probably far more straightforward.

I don't think you have any other choice than to just do myGuid.ToString().ToUpper(). Although, you could always write an extension method, perhaps something like ToUpperString, but I don't think there is anything built into the system.

FastBiscuit

Assuming you have a class that holds your Guid and you would like to retain the typed Guid, you could do something like this:

public Guid Identifier { get; set; }

public String FormattedIdentifier => Identifier.ToString().ToUpper();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!