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

使用指定的字节数组初始化 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

通过使用指定的只读字节范围所表示的值来初始化 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

使用指定字符串所表示的值初始化 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 个连续的十六进制数字:

dddddddddddddddddddddddddddddddd

- 或 -

由 8、4、4、4 和 12 个十六进制数字组成的组,组之间带有连字符。 也可以用一对大括号或者圆括号将整个 GUID 括起来:

dddddddd-dddd-dddd-dddd-dddddddddddd

- 或 -

{dddddddd-dddd-dddd-dddd-dddddddddddd}

- 或 -

(dddddddd-dddd-dddd-dddd-dddddddddddd)

- 或 -

由 8、4 和 4 个十六进制数字组成的组,以及 8 组的 2 个十六进制数字的子集,每个组的前缀为“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
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

使用指定的整数和字节数组初始化 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 的下两个字节。

c
Int16

GUID 的下两个字节。

d
Byte[]

GUID 的其余 8 个字节。

例外

dnull

d 的长度不是 8 个字节。

示例

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

适用于

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

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 的下两个字节。

c
Int16

GUID 的下两个字节。

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

重要

此 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 的下两个字节。

c
UInt16

GUID 的下两个字节。

d
Byte

GUID 的下一个字节。

e
Byte

GUID 的下一个字节。

f
Byte

GUID 的下一个字节。

g
Byte

GUID 的下一个字节。

h
Byte

GUID 的下一个字节。

i
Byte

GUID 的下一个字节。

j
Byte

GUID 的下一个字节。

k
Byte

GUID 的下一个字节。

属性

注解

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

适用于