Guid 构造函数

定义

初始化结构的新实例 Guid

重载

名称 说明
Guid(Byte[])

使用指定的字节数组初始化结构的新实例 Guid

Guid(ReadOnlySpan<Byte>)

使用指定的只读字节范围表示的值初始化结构的新实例 Guid

Guid(String)

使用指定字符串表示的值初始化结构的新实例 Guid

Guid(ReadOnlySpan<Byte>, Boolean)
Guid(Int32, Int16, Int16, Byte[])

使用指定的整数和字节数组初始化结构的新实例 Guid

Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

使用指定的整数和字节初始化结构的新实例 Guid

Guid(UInt32, UInt16, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

使用指定的无符号整数和字节初始化结构的新实例 Guid

Guid(Byte[])

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

使用指定的字节数组初始化结构的新实例 Guid

public:
 Guid(cli::array <System::Byte> ^ b);
public Guid(byte[] b);
new Guid : byte[] -> Guid
Public Sub New (b As Byte())

参数

b
Byte[]

包含初始化 GUID 的值的 16 元素字节数组。

例外

bnull

b 长度不是 16 字节。

适用于

Guid(ReadOnlySpan<Byte>)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

使用指定的只读字节范围表示的值初始化结构的新实例 Guid

public:
 Guid(ReadOnlySpan<System::Byte> b);
public Guid(ReadOnlySpan<byte> b);
new Guid : ReadOnlySpan<byte> -> Guid
Public Sub New (b As ReadOnlySpan(Of Byte))

参数

b
ReadOnlySpan<Byte>

一个只读范围,包含表示 GUID 的字节。 跨度长度必须正好为 16 字节。

例外

跨度长度必须正好为 16 字节。

适用于

Guid(String)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

使用指定字符串表示的值初始化结构的新实例 Guid

public:
 Guid(System::String ^ g);
public Guid(string g);
new Guid : string -> Guid
Public Sub New (g As String)

参数

g
String

包含以下格式之一的 GUID 的字符串(“d”表示忽略大小写的十六进制数字):

32 个连续十六进制数字:

ddd

-或-

组之间的 8、4、4、4 和 12 个十六进制数字(带连字符)。 可以选择将整个 GUID 括在匹配的大括号或括号中:

ddddd-d-d-d-d

-或-

{ddd-d-d-d-dd}

-或-

(ddd-d-d-d-d)

-或-

包含 8、4 和 4 个十六进制数字的组,以及 2 个十六进制数字的 8 组的子集,每个组以“0x”或“0X”为前缀,用逗号分隔。 整个 GUID 以及子集括在匹配大括号中:

{0xdddddddd,0xdddd,0xdddd,{0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd,0xdd}}

需要所有大括号、逗号和“0x”前缀。 将忽略所有嵌入空间。 将忽略组中的所有前导零。

组中显示的十六进制数字是可出现在该组中的有意义的十六进制数字的最大数目。 可以指定从 1 到组显示的十六进制数字数。 指定数字假定为组的低序数字。

例外

gnull

格式 g 无效。

格式 g 无效。

示例

以下示例将“备注”部分中列出的每个字符串传递给 Guid(String) 构造函数。

string[] guidStrings = { "ca761232ed4211cebacd00aa0057b223",
                         "CA761232-ED42-11CE-BACD-00AA0057B223",
                         "{CA761232-ED42-11CE-BACD-00AA0057B223}",
                         "(CA761232-ED42-11CE-BACD-00AA0057B223)",
                         "{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}" };
foreach (var guidString in guidStrings)
{
    var guid = new Guid(guidString);
    Console.WriteLine($"Original string: {guidString}");
    Console.WriteLine($"Guid:            {guid}");
    Console.WriteLine();
}

// The example displays the following output:
//    Original string: ca761232ed4211cebacd00aa0057b223
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: CA761232-ED42-11CE-BACD-00AA0057B223
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: {CA761232-ED42-11CE-BACD-00AA0057B223}
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: (CA761232-ED42-11CE-BACD-00AA0057B223)
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: {0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
open System

let guidStrings =
    [ "ca761232ed4211cebacd00aa0057b223"
      "CA761232-ED42-11CE-BACD-00AA0057B223"
      "{CA761232-ED42-11CE-BACD-00AA0057B223}"
      "(CA761232-ED42-11CE-BACD-00AA0057B223)"
      "{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}" ]

for guidString in guidStrings do
    let guid = Guid guidString
    printfn $"Original string: {guidString}"
    printfn $"Guid:            {guid}\n"

// The example displays the following output:
//    Original string: ca761232ed4211cebacd00aa0057b223
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: CA761232-ED42-11CE-BACD-00AA0057B223
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: {CA761232-ED42-11CE-BACD-00AA0057B223}
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: (CA761232-ED42-11CE-BACD-00AA0057B223)
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
//
//    Original string: {0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}
//    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
Module Example
   Public Sub Main()
      Dim guidStrings() As String = { "ca761232ed4211cebacd00aa0057b223",
                                      "CA761232-ED42-11CE-BACD-00AA0057B223", 
                                      "{CA761232-ED42-11CE-BACD-00AA0057B223}", 
                                      "(CA761232-ED42-11CE-BACD-00AA0057B223)", 
                                      "{0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}" }
      For Each guidString In guidStrings
         Dim guid As New Guid(guidString)
         Console.WriteLine("Original string: {0}", guidString)
         Console.WriteLine("Guid:            {0}", guid)
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Original string: ca761232ed4211cebacd00aa0057b223
'    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
'    
'    Original string: CA761232-ED42-11CE-BACD-00AA0057B223
'    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
'    
'    Original string: {CA761232-ED42-11CE-BACD-00AA0057B223}
'    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
'    
'    Original string: (CA761232-ED42-11CE-BACD-00AA0057B223)
'    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223
'    
'    Original string: {0xCA761232, 0xED42, 0x11CE, {0xBA, 0xCD, 0x00, 0xAA, 0x00, 0x57, 0xB2, 0x23}}
'    Guid:            ca761232-ed42-11ce-bacd-00aa0057b223

注解

参数中的 g 字母十六进制数字可以是大写或小写。 例如,以下字符串表示相同的 GUID:

“ca761232ed4211cebacd00aa0057b223”

“CA761232-ED42-11CE-BACD-00AA0057B223”

“{CA761232-ED42-11CE-BACD-00AA0057B223}”

“(CA761232-ED42-11CE-BACD-00AA0057B223)”

“{0xCA761232、0xED42、0x11CE、{0xBA、0xCD、0x00、0xAA、0x00、0x57、0xB2、0x23}}”

适用于

Guid(ReadOnlySpan<Byte>, Boolean)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
public:
 Guid(ReadOnlySpan<System::Byte> b, bool bigEndian);
public Guid(ReadOnlySpan<byte> b, bool bigEndian);
new Guid : ReadOnlySpan<byte> * bool -> Guid
Public Sub New (b As ReadOnlySpan(Of Byte), bigEndian As Boolean)

参数

bigEndian
Boolean

适用于

Guid(Int32, Int16, Int16, Byte[])

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

使用指定的整数和字节数组初始化结构的新实例 Guid

public:
 Guid(int a, short b, short c, cli::array <System::Byte> ^ d);
public Guid(int a, short b, short c, byte[] d);
new Guid : int * int16 * int16 * byte[] -> Guid
Public Sub New (a As Integer, b As Short, c As Short, d As Byte())

参数

a
Int32

GUID 的前 4 个字节。

b
Int16

GUID 的后 2 个字节。

c
Int16

GUID 的后 2 个字节。

d
Byte[]

GUID 的剩余 8 个字节。

例外

dnull

d 长度不是 8 个字节。

示例

Guid(1,2,3,new byte[]{0,1,2,3,4,5,6,7}) 创建对应于“00000001-0002-0003-0001-020304050607”的对应 Guid 项。

适用于

Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

使用指定的整数和字节初始化结构的新实例 Guid

public:
 Guid(int a, short b, short c, System::Byte d, System::Byte e, System::Byte f, System::Byte g, System::Byte h, System::Byte i, System::Byte j, System::Byte k);
public Guid(int a, short b, short c, byte d, byte e, byte f, byte g, byte h, byte i, byte j, byte k);
new Guid : int * int16 * int16 * byte * byte * byte * byte * byte * byte * byte * byte -> Guid
Public Sub New (a As Integer, b As Short, c As Short, d As Byte, e As Byte, f As Byte, g As Byte, h As Byte, i As Byte, j As Byte, k As Byte)

参数

a
Int32

GUID 的前 4 个字节。

b
Int16

GUID 的后 2 个字节。

c
Int16

GUID 的后 2 个字节。

d
Byte

GUID 的下一个字节。

e
Byte

GUID 的下一个字节。

f
Byte

GUID 的下一个字节。

g
Byte

GUID 的下一个字节。

h
Byte

GUID 的下一个字节。

i
Byte

GUID 的下一个字节。

j
Byte

GUID 的下一个字节。

k
Byte

GUID 的下一个字节。

示例

以下示例创建一个 GUID,其字符串表示形式为“0000000a-000b-000c-0001-020304050607”。

var g = new Guid(0xA, 0xB, 0xC,
                  new Byte[] { 0, 1, 2, 3, 4, 5, 6, 7 } );
Console.WriteLine($"{g:B}");

// The example displays the following output:
//        {0000000a-000b-000c-0001-020304050607}
open System

let g = Guid(0xA, 0xBs, 0xCs, [| 0uy..7uy |])
printfn $"{g:B}"

// The example displays the following output:
//        {0000000a-000b-000c-0001-020304050607}
Module Example
   Public Sub Main()
      Dim g As New Guid(&hA, &hB, &hC, 
                        New Byte() { 0, 1, 2, 3, 4, 5, 6, 7 } )
      Console.WriteLine("{0:B}", g)
   End Sub
End Module
' The example displays the following output:
'   {0000000a-000b-000c-0001-020304050607}

注解

以这种方式指定单个字节可用于规避特定类型的计算机上的字节顺序限制(big-endian 或 little-endian 字节顺序)。

适用于

Guid(UInt32, UInt16, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

重要

此 API 不符合 CLS。

使用指定的无符号整数和字节初始化结构的新实例 Guid

public:
 Guid(System::UInt32 a, System::UInt16 b, System::UInt16 c, System::Byte d, System::Byte e, System::Byte f, System::Byte g, System::Byte h, System::Byte i, System::Byte j, System::Byte k);
[System.CLSCompliant(false)]
public Guid(uint a, ushort b, ushort c, byte d, byte e, byte f, byte g, byte h, byte i, byte j, byte k);
[<System.CLSCompliant(false)>]
new Guid : uint32 * uint16 * uint16 * byte * byte * byte * byte * byte * byte * byte * byte -> Guid
Public Sub New (a As UInteger, b As UShort, c As UShort, d As Byte, e As Byte, f As Byte, g As Byte, h As Byte, i As Byte, j As Byte, k As Byte)

参数

a
UInt32

GUID 的前 4 个字节。

b
UInt16

GUID 的后 2 个字节。

c
UInt16

GUID 的后 2 个字节。

d
Byte

GUID 的下一个字节。

e
Byte

GUID 的下一个字节。

f
Byte

GUID 的下一个字节。

g
Byte

GUID 的下一个字节。

h
Byte

GUID 的下一个字节。

i
Byte

GUID 的下一个字节。

j
Byte

GUID 的下一个字节。

k
Byte

GUID 的下一个字节。

属性

注解

以这种方式指定字节可避免尾数问题。

适用于