Guid.ParseExact Metode

Definisi

Overload

Nama Deskripsi
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Mengonversi representasi rentang karakter GUID ke struktur yang setara Guid , asalkan string dalam format yang ditentukan.

ParseExact(String, String)

Mengonversi representasi string GUID ke struktur yang setara Guid , asalkan string dalam format yang ditentukan.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs

Mengonversi representasi rentang karakter GUID ke struktur yang setara Guid , asalkan string dalam format yang ditentukan.

public:
 static Guid ParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format);
public static Guid ParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format);
static member ParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> -> Guid
Public Shared Function ParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char)) As Guid

Parameter

input
ReadOnlySpan<Char>

Rentang baca-saja yang berisi karakter yang mewakili GUID untuk dikonversi.

format
ReadOnlySpan<Char>

Rentang karakter baca-saja yang mewakili salah satu penentu berikut yang menunjukkan format yang tepat untuk digunakan saat menafsirkan input: "N", "D", "B", "P", atau "X".

Mengembalikan

Struktur yang berisi nilai yang diurai.

Keterangan

Metode ini ParseExact memerlukan rentang karakter baca-saja untuk dikonversi persis dalam format yang ditentukan oleh format parameter, setelah karakter spasi putih di depan dan di belakang dihapus. Tabel berikut ini memperlihatkan penentu format yang diterima untuk format parameter . "0" mewakili digit; tanda hubung ("-"), kurung kurawal ("{", "}"), dan tanda kurung ("(", ")") muncul seperti yang ditunjukkan.

Spesifikator input Format parameter
N 32 digit heksadesimal:

00000000000000000000000000000000
D 32 digit heksadesimal dipisahkan oleh tanda hubung:

00000000-0000-0000-0000-000000000000
B 32 digit heksadesimal yang dipisahkan oleh tanda hubung, diapit kurung kurawal:

{00000000-0000-0000-0000-000000000000}
P 32 digit heksadesimal dipisahkan oleh tanda hubung, diapit dalam tanda kurung:

(00000000-0000-0000-0000-000000000000)
X Empat nilai heksadesimal diapit dalam kurung kurawal, di mana nilai keempat adalah subset dari delapan nilai heksadesimal yang juga diapit dalam kurung kurawal:

{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

Berlaku untuk

ParseExact(String, String)

Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs
Sumber:
Guid.cs

Mengonversi representasi string GUID ke struktur yang setara Guid , asalkan string dalam format yang ditentukan.

public:
 static Guid ParseExact(System::String ^ input, System::String ^ format);
public static Guid ParseExact(string input, string format);
static member ParseExact : string * string -> Guid
Public Shared Function ParseExact (input As String, format As String) As Guid

Parameter

input
String

GUID yang akan dikonversi.

format
String

Salah satu penentu berikut yang menunjukkan format yang tepat untuk digunakan saat menafsirkan input: "N", "D", "B", "P", atau "X".

Mengembalikan

Struktur yang berisi nilai yang diurai.

Pengecualian

input atau format adalah null.

input tidak dalam format yang ditentukan oleh format.

Contoh

Contoh berikut memanggil ToString(String) metode dengan setiap penentu format yang didukung untuk menghasilkan array string yang mewakili satu GUID. Ini kemudian diteruskan ke ParseExact metode , yang berhasil mengurai hanya string yang sesuai dengan penentu format "B".

// Define an array of all format specifiers.
string[] formats = { "N", "D", "B", "P", "X" };
Guid guid = Guid.NewGuid();
// Create an array of valid Guid string representations.
var stringGuids = new string[formats.Length];
for (int ctr = 0; ctr < formats.Length; ctr++)
    stringGuids[ctr] = guid.ToString(formats[ctr]);

// Parse the strings in the array using the "B" format specifier.
foreach (var stringGuid in stringGuids)
{
    try
    {
        Guid newGuid = Guid.ParseExact(stringGuid, "B");
        Console.WriteLine($"Successfully parsed {stringGuid}");
    }
    catch (ArgumentNullException)
    {
        Console.WriteLine("The string to be parsed is null.");
    }
    catch (FormatException)
    {
        Console.WriteLine($"Bad Format: {stringGuid}");
    }
}

// The example displays output similar to the following:
//
//    Bad Format: eb5c8c7d187a44e68afb81e854c39457
//    Bad Format: eb5c8c7d-187a-44e6-8afb-81e854c39457
//    Successfully parsed {eb5c8c7d-187a-44e6-8afb-81e854c39457}
//    Bad Format: (eb5c8c7d-187a-44e6-8afb-81e854c39457)
//    Bad Format: {0xeb5c8c7d,0x187a,0x44e6,{0x8a,0xfb,0x81,0xe8,0x54,0xc3,0x94,0x57}}
open System

// Define an array of all format specifiers.
let formats =
    [| "N"; "D"; "B"; "P"; "X" |]

let guid = Guid.NewGuid()

// Create an array of valid Guid string representations.
let stringGuids = 
    Array.map guid.ToString formats

// Parse the strings in the array using the "B" format specifier.
for stringGuid in stringGuids do
    try
        let newGuid = Guid.ParseExact(stringGuid, "B")
        printfn $"Successfully parsed {stringGuid}"
    with
    | :? ArgumentNullException ->
        printfn "The string to be parsed is null."
    | :? FormatException ->
        printfn $"Bad Format: {stringGuid}"

// The example displays output similar to the following:
//
//    Bad Format: eb5c8c7d187a44e68afb81e854c39457
//    Bad Format: eb5c8c7d-187a-44e6-8afb-81e854c39457
//    Successfully parsed {eb5c8c7d-187a-44e6-8afb-81e854c39457}
//    Bad Format: (eb5c8c7d-187a-44e6-8afb-81e854c39457)
//    Bad Format: {0xeb5c8c7d,0x187a,0x44e6,{0x8a,0xfb,0x81,0xe8,0x54,0xc3,0x94,0x57}}
Module Example
   Public Sub Main()
      ' Define an array of all format specifiers.
      Dim formats() As String = { "N", "D", "B", "P", "X" }
      Dim guid As Guid = Guid.NewGuid()
      ' Create an array of valid Guid string representations.
      Dim stringGuids(formats.Length - 1) As String
      For ctr As Integer = 0 To formats.Length - 1
         stringGuids(ctr) = guid.ToString(formats(ctr))
      Next

      ' Parse the strings in the array using the "B" format specifier.
      For Each stringGuid In stringGuids
         Try
            Dim newGuid As Guid = Guid.ParseExact(stringGuid, "B")
            Console.WriteLine("Successfully parsed {0}", stringGuid)
         Catch e As ArgumentNullException
            Console.WriteLine("The string to be parsed is null.")
         Catch e As FormatException
            Console.WriteLine("Bad Format: {0}", stringGuid)
         End Try   
      Next      
   End Sub
End Module
' The example displays the following output:
'    Bad Format: 3351d3f0006747089ff928b5179b2051
'    Bad Format: 3351d3f0-0067-4708-9ff9-28b5179b2051
'    Successfully parsed {3351d3f0-0067-4708-9ff9-28b5179b2051}
'    Bad Format: (3351d3f0-0067-4708-9ff9-28b5179b2051)
'    Bad Format: {0x3351d3f0,0x0067,0x4708,{0x9f,0xf9,0x28,0xb5,0x17,0x9b,0x20,0x51}}

Keterangan

Metode ParseExact ini mengharuskan string untuk dikonversi persis dalam format yang ditentukan oleh format parameter, setelah karakter spasi putih di depan dan berikutnya dihapus. Tabel berikut ini memperlihatkan penentu format yang diterima untuk format parameter . "0" mewakili digit; tanda hubung ("-"), kurung kurawal ("{", "}"), dan tanda kurung ("(", ")") muncul seperti yang ditunjukkan.

Spesifikator input Format parameter
N 32 digit heksadesimal:

00000000000000000000000000000000
D 32 digit heksadesimal dipisahkan oleh tanda hubung:

00000000-0000-0000-0000-000000000000
B 32 digit heksadesimal yang dipisahkan oleh tanda hubung, diapit kurung kurawal:

{00000000-0000-0000-0000-000000000000}
P 32 digit heksadesimal dipisahkan oleh tanda hubung, diapit dalam tanda kurung:

(00000000-0000-0000-0000-000000000000)
X Empat nilai heksadesimal diapit dalam kurung kurawal, di mana nilai keempat adalah subset dari delapan nilai heksadesimal yang juga diapit dalam kurung kurawal:

{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

Lihat juga

Berlaku untuk