Sdílet prostřednictvím


Guid.TryParseExact Metoda

Definice

Přetížení

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

Převede rozsah znaků představujících identifikátor GUID na ekvivalentní Guid strukturu za předpokladu, že řetězec je v zadaném formátu.

TryParseExact(String, String, Guid)

Převede řetězcovou reprezentaci identifikátoru GUID na ekvivalentní Guid strukturu za předpokladu, že je řetězec v zadaném formátu.

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

Zdroj:
Guid.cs
Zdroj:
Guid.cs
Zdroj:
Guid.cs

Převede rozsah znaků představujících identifikátor GUID na ekvivalentní Guid strukturu za předpokladu, že řetězec je v zadaném formátu.

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

Parametry

input
ReadOnlySpan<Char>

Rozsah jen pro čtení obsahující znaky představující identifikátor GUID, který se má převést.

format
ReadOnlySpan<Char>

Rozsah jen pro čtení obsahující znak představující jeden z následujících specifikátorů, který označuje přesný formát, který se má použít při interpretaci input: "N", "D", "B", "P" nebo "X".

result
Guid

Když tato metoda vrátí, obsahuje parsovanou hodnotu. Pokud metoda vrátí true, result obsahuje platnou Guidhodnotu . Pokud metoda vrátí falsehodnotu , rovná se Emptyresult .

Návraty

truepokud byla operace analýzy úspěšná; v opačném případě . false

Platí pro

TryParseExact(String, String, Guid)

Zdroj:
Guid.cs
Zdroj:
Guid.cs
Zdroj:
Guid.cs

Převede řetězcovou reprezentaci identifikátoru GUID na ekvivalentní Guid strukturu za předpokladu, že je řetězec v zadaném formátu.

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

Parametry

input
String

Identifikátor GUID, který chcete převést.

format
String

Jeden z následujících specifikátorů, který určuje přesný formát, který se má použít při interpretaci input: "N", "D", "B", "P" nebo "X".

result
Guid

Když tato metoda vrátí, obsahuje parsovanou hodnotu. Pokud metoda vrátí true, result obsahuje platnou Guidhodnotu . Pokud metoda vrátí falsehodnotu , rovná se Emptyresult .

Návraty

truepokud byla operace analýzy úspěšná; v opačném případě . false

Příklady

Následující příklad volá metodu ToString(String) s jednotlivými podporovanými specifikátory formátu pro vygenerování pole řetězců, které představují jeden identifikátor GUID. Ty jsou pak předány TryParseExact metodě, která úspěšně parsuje řetězec, který odpovídá specifikátoru formátu "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}}'

Poznámky

Tato metoda vyžaduje, aby řetězec k převodu byl přesně ve formátu určeném format parametrem, po odebrání úvodních a koncových prázdných znaků. Vrátí, false pokud input je null nebo není ve formátu určeném nástrojem formata nevyvolá výjimku.

Následující tabulka ukazuje specifikátory přijatého format formátu pro parametr. "0" představuje číslici; pomlčky ("-"), složené závorky ("{", "}") a kulaté závorky ("(",")") vypadají tak, jak jsou vyobrazeny.

Specifikátor Formát parametru input
N 32 číslic:

00000000000000000000000000000000
D 32 číslic oddělených pomlčkami:

00000000-0000-0000-0000-000000000000
B 32 číslic oddělených pomlčkami a uzavřených ve složených závorkách:

{00000000-0000-0000-0000-000000000000}
P 32 číslic oddělených pomlčkami a uzavřených v kulatých závorkách:

(00000000-0000-0000-0000-000000000000)
× Čtyři šestnáctkové hodnoty uzavřené ve složených závorkách, přičemž čtvrtá hodnota je podmnožinu osmi šestnáctkových hodnot uzavřených rovněž ve složených závorkách:

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

Viz také

Platí pro