Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GUID的格式是否始终相同?_C#_String_Guid - Fatal编程技术网

C# GUID的格式是否始终相同?

C# GUID的格式是否始终相同?,c#,string,guid,C#,String,Guid,GUID您会得到类似aaaef973-d8ce-4c92-95b4-3635bb2d42d5的内容 总是一样吗?它是否总是具有以下格式 8个字符“-”,4个字符“-”,4个字符“-”,4个字符“-”,12个字符 我这样问是因为我需要将不带“-”的GUID转换为带“-”和visa的GUID;除大括号外,还有其他格式,例如列出的格式。还有更复杂的格式。以下是MSDN列表的一些格式: UUID格式 32位:00000000000000000000(N) 用连字符分隔的32位数字:00000000-0

GUID您会得到类似aaaef973-d8ce-4c92-95b4-3635bb2d42d5的内容

总是一样吗?它是否总是具有以下格式

8个字符“-”,4个字符“-”,4个字符“-”,4个字符“-”,12个字符


我这样问是因为我需要将不带“-”的GUID转换为带“-”和visa的GUID;除大括号外,还有其他格式,例如列出的格式。还有更复杂的格式。以下是MSDN列表的一些格式:

UUID格式
  • 32位:
    00000000000000000000
    (N)
  • 用连字符分隔的32位数字:
    00000000-0000-0000-0000-000000000000
    (D)
  • 用连字符分隔的32位数字,用大括号括起来:
    {00000000-0000-0000-0000-000000000000}
    (B)
  • 用连字符分隔的32位数字,用括号括起来:
    (00000000-0000-0000-0000-000000000000)
    (P)
  • 用大括号括起来的四个十六进制值,其中第四个值是也用大括号括起来的八个十六进制值的子集:
    {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
    (X)
-


大多数情况下,guid是32个字符的十六进制字符串,如
{21EC2020-3AEA-1069-A2DD-08002B30309D}
(除非它们以Base-64编码),通常存储为128位整数。不过,它们并不总是有连字符。

您只需依赖它是32个十六进制字符,可以有多种方式来表示它。有关更多信息,请查看,包括它们通常如何编写的说明

对于您的转换,您应该真正依赖于静态。将您的示例与中的示例混合使用,可以很好地实现这一点:

        var z = Guid.Parse("aaaef973-d8ce-4c92-95b4-3635bb2d42d5");
        z = Guid.Parse("{aaaef973-d8ce-4c92-95b4-3635bb2d42d5}");
        z = Guid.Parse("{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}");

然后,对于带连字符或不带连字符等的输出,您可以将该方法与一个已建立的格式代码一起使用。

如果它存储为带大括号的字符串,则有多少个字符?这并不是说不能以其他格式保存,有或没有大括号、空格或连字符。我很好奇为什么guid是以8,4,4,12为单位呈现的,而不是(例如)4组8为单位呈现的,以及为什么
“X”
格式的格式如此奇怪。最后8个字节有什么特别之处,需要以不同的方式呈现?@Dai:看到了吗