Guid 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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[])
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 到组显示的十六进制数字数。 指定的位数被认为是该组低序位的位数。
例外
g
为 null
。
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)
参数
- b
- ReadOnlySpan<Byte>
- 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 个字节。
例外
d
为 null
。
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 的下一个字节。
- 属性
注解
以这种方式指定字节可避免字节问题。