Guid 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化結構的新實例 Guid 。
多載
| 名稱 | Description |
|---|---|
| Guid(Byte[]) |
使用指定的位元組陣列初始化結構的新實例 Guid 。 |
| Guid(ReadOnlySpan<Byte>) |
利用指定的唯讀位元組區間所代表的值初始化結構的新 Guid 實例。 |
| Guid(String) |
使用指定字串所代表的值初始化結構的新 Guid 實例。 |
| Guid(ReadOnlySpan<Byte>, Boolean) |
利用指定的唯讀位元組區間與指定的字節序值初始化結構的新實例 Guid 。 |
| 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(ReadOnlySpan<Byte>)
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- 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)
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- 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 位連續的十六進位數字:
dddddd
-或-
由8、4、4、4及12位十六進位數字組成的群組,群組間有連字號。 整個 GUID 可選擇性地以相符的大括號或括號包覆:
dddddddd-dddddd-dd
-或-
{dddddddd-dddddd-dddd}
-或-
(dddddddd-dddddd-dddddd-dd)
-或-
包含8、4及4位十六進位數字的群組,以及八組各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:
「ca761232ed4211cebacd00aaa0057b223」
「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)
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
利用指定的唯讀位元組區間與指定的字節序值初始化結構的新實例 Guid 。
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>
一個 16 元素的唯讀區間,包含初始化 GUID 的位元組。
- bigEndian
- Boolean
true 將 解讀 b 為大端序; false 將它解讀為小端序。
例外狀況
b 長度不是 16 位元組。
適用於
Guid(Int32, Int16, Int16, Byte[])
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- 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
接下來的 2 位元組 GUID。
- c
- Int16
接下來的 2 位元組 GUID。
- d
- Byte[]
剩下的 8 個位元組 GUID。
例外狀況
d 是 null。
d 長度不是 8 位元組。
範例
Guid(1,2,3,new byte[]{0,1,2,3,4,5,6,7}) 產生的 A Guid 對應於「000000001-0002-0003-0001-020304050607」。
適用於
Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- 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
接下來的 2 位元組 GUID。
- c
- Int16
接下來的 2 位元組 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}
備註
以這種方式指定單一位元組,可以用來繞過特定電腦類型上的位元組順序限制(大端序或小端序位元組序)。
適用於
Guid(UInt32, UInt16, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- Guid.cs
- 來源:
- 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
接下來的 2 位元組 GUID。
- c
- UInt16
接下來的 2 位元組 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 的下一個位元組。
- 屬性
備註
以這種方式指定位元組可避免元序問題。