Dot-Net

為什麼 .NET GUID 中有破折號?

  • January 6, 2009

為什麼 .NET GUID 中有破折號?GUID 的大多數實現中是否有破折號,或者它只是微軟的東西?

簽,

741ecf77-9c92-4435-8e6b-85975bd13452

從技術上講, GUID中沒有“破折號” 。GUID 是一個 128 位的值,通常以以下方式儲存(此處使用 C# 表示結構):

public struct Guid
{
 public ulong Data1;
 public ushort Data2;
 public ushort Data3;
 public fixed byte Data4[8];
}

破折號位於GUID的字元串表示形式中。

破折號是可選的,在 GUID 的字元串表示中不是必需的。

也就是說,破折號的位置存在歷史原因,與 GUID 的生成方式有關,但該歷史語義不再適用。

引用自:https://stackoverflow.com/questions/417108