Guid.TryParseExact Metode

Definisi

Overload

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)

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

TryParseExact(String, String, Guid)

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

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)

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

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

public:
 static bool TryParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format, [Runtime::InteropServices::Out] Guid % result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, out Guid result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * Guid -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), ByRef result As Guid) As Boolean

Parameter

input
ReadOnlySpan<Char>

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

format
ReadOnlySpan<Char>

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

result
Guid

Ketika metode ini kembali, berisi nilai yang diurai. Jika metode mengembalikan true, result berisi .Guid Jika metode mengembalikan false, result sama dengan Empty.

Mengembalikan

true jika operasi penguraian berhasil; jika tidak, false.

Berlaku untuk

TryParseExact(String, String, Guid)

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 bool TryParseExact(System::String ^ input, System::String ^ format, [Runtime::InteropServices::Out] Guid % result);
public static bool TryParseExact (string input, string format, out Guid result);
public static bool TryParseExact (string? input, string? format, out Guid result);
static member TryParseExact : string * string * Guid -> bool
Public Shared Function TryParseExact (input As String, format As String, ByRef result As Guid) As Boolean

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".

result
Guid

Ketika metode ini kembali, berisi nilai yang diurai. Jika metode mengembalikan true, result berisi .Guid Jika metode mengembalikan false, result sama dengan Empty.

Mengembalikan

true jika operasi penguraian berhasil; jika tidak, false.

Contoh

Contoh berikut memanggil ToString(String) metode dengan masing-masing penentu format yang didukung untuk menghasilkan array string yang mewakili satu GUID. Ini kemudian diteruskan ke TryParseExact metode , yang berhasil mengurai 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)
{
    if (Guid.TryParseExact(stringGuid, "B", out var newGuid))
        Console.WriteLine($"Successfully parsed {stringGuid}");
    else
        Console.WriteLine($"Unable to parse '{stringGuid}'");
}

// The example displays output similar to the following:
//
//    Unable to parse 'c0fb150f6bf344df984a3a0611ae5e4a'
//    Unable to parse 'c0fb150f-6bf3-44df-984a-3a0611ae5e4a'
//    Successfully parsed {c0fb150f-6bf3-44df-984a-3a0611ae5e4a}
//    Unable to parse '(c0fb150f-6bf3-44df-984a-3a0611ae5e4a)'
//    Unable to parse '{0xc0fb150f,0x6bf3,0x44df,{0x98,0x4a,0x3a,0x06,0x11,0xae,0x5e,0x4a}}'
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
    match Guid.TryParseExact(stringGuid, "B") with
    | true, newGuid ->
        printfn $"Successfully parsed {stringGuid}"
    | _ ->
        printfn $"Unable to parse '{stringGuid}'"

// The example displays output similar to the following:
//
//    Unable to parse 'c0fb150f6bf344df984a3a0611ae5e4a'
//    Unable to parse 'c0fb150f-6bf3-44df-984a-3a0611ae5e4a'
//    Successfully parsed {c0fb150f-6bf3-44df-984a-3a0611ae5e4a}
//    Unable to parse '(c0fb150f-6bf3-44df-984a-3a0611ae5e4a)'
//    Unable to parse '{0xc0fb150f,0x6bf3,0x44df,{0x98,0x4a,0x3a,0x06,0x11,0xae,0x5e,0x4a}}'
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

      ' Try to parse the strings in the array using the "B" format specifier.
      For Each stringGuid In stringGuids
         Dim newGuid As Guid
         If Guid.TryParseExact(stringGuid, "B", newGuid) Then
            Console.WriteLine("Successfully parsed {0}", stringGuid)
         Else
            Console.WriteLine("Unable to parse '{0}'", stringGuid)
         End If   
      Next      
   End Sub
End Module
' The example displays the following output:
'    Unable to parse 'c0fb150f6bf344df984a3a0611ae5e4a'
'    Unable to parse 'c0fb150f-6bf3-44df-984a-3a0611ae5e4a'
'    Successfully parsed {c0fb150f-6bf3-44df-984a-3a0611ae5e4a}
'    Unable to parse '(c0fb150f-6bf3-44df-984a-3a0611ae5e4a)'
'    Unable to parse '{0xc0fb150f,0x6bf3,0x44df,{0x98,0x4a,0x3a,0x06,0x11,0xae,0x5e,0x4a}}'

Keterangan

Metode ini mengharuskan string untuk dikonversi persis dalam format yang ditentukan oleh format parameter , setelah karakter spasi putih di depan dan di belakang dihapus. Ini mengembalikan false jika input adalah null atau tidak dalam format yang ditentukan oleh format, dan tidak memberikan pengecualian.

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.

Penentu input Format parameter
N 32 digit:

00000000000000000000000000000000
D 32 digit dipisahkan oleh tanda hubung:

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

{00000000-0000-0000-0000-000000000000}
P 32 digit dipisahkan oleh tanda hubung, diapit 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 kurung kurawal:

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

Lihat juga

Berlaku untuk