Freigeben über


Guid.TryParseExact Methode

Definition

Überlädt

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

Konvertiert die Spanne der Zeichen, die die GUID darstellen, in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge im angegebenen Format vorliegt.

TryParseExact(String, String, Guid)

Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat.

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

Quelle:
Guid.cs
Quelle:
Guid.cs
Quelle:
Guid.cs

Konvertiert die Spanne der Zeichen, die die GUID darstellen, in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge im angegebenen Format vorliegt.

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>

Eine schreibgeschützte Spanne, die die Zeichen enthält, die die zu konvertierende GUID darstellen.

format
ReadOnlySpan<Char>

Eine schreibgeschützte Spanne, die ein Zeichen enthält, das einen der folgenden Spezifizierer darstellt, der beim Interpretieren von input das genaue zu verwendende Format angibt: "N", "D", "B", "P" oder "X".

result
Guid

Wenn diese Methode zurückgegeben wird, enthält sie den analysierten Wert. Wenn die Methode true zurückgibt, enthält result gültiges Guid. Wenn die Methode false zurückgibt, gleicht resultEmpty.

Gibt zurück

true, wenn der Analysevorgang erfolgreich war, andernfalls false.

Gilt für:

TryParseExact(String, String, Guid)

Quelle:
Guid.cs
Quelle:
Guid.cs
Quelle:
Guid.cs

Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat.

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

Die zu konvertierende GUID.

format
String

Einer der folgenden Bezeichner, der das beim Interpretieren von input zu verwendende genaue Format angibt: "N", "D", "B", "P" oder "X".

result
Guid

Wenn diese Methode zurückgegeben wird, enthält sie den analysierten Wert. Wenn die Methode true zurückgibt, enthält result gültiges Guid. Wenn die Methode false zurückgibt, gleicht resultEmpty.

Gibt zurück

true, wenn der Analysevorgang erfolgreich war, andernfalls false.

Beispiele

Im folgenden Beispiel wird die ToString(String) -Methode mit jedem der unterstützten Formatbezeichner aufgerufen, um ein Array von Zeichenfolgen zu generieren, die eine einzelne GUID darstellen. Diese werden dann an die TryParseExact -Methode übergeben, die erfolgreich die Zeichenfolge analysiert, die dem Formatbezeichner "B" entspricht.

// 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}}'

Hinweise

Für diese Methode muss die Zeichenfolge in das vom format Parameter angegebene Format konvertiert werden, nachdem führende und nachfolgende Leerzeichen entfernt wurden. Es wird zurückgegebenfalse, wenn input das von formatangegebene Format ist null oder nicht vorliegt, und löst keine Ausnahme aus.

Die folgende Tabelle zeigt die akzeptierten Formatbezeichner für den format Parameter. "0" stellt eine Ziffer dar; Bindestriche ("-"), Klammern ("{", "}") und Klammern ("(", ")") werden wie gezeigt angezeigt angezeigt.

Bezeichner Format des input Parameters
N 32 Ziffern:

00000000000000000000000000000000
D 32 Ziffern durch Bindestriche getrennt:

00000000-0000-0000-0000-000000000000
B 32 Ziffern getrennt durch Bindestriche, in Klammern eingeschlossen:

{00000000-0000-0000-0000-000000000000}
P 32 Ziffern getrennt durch Bindestriche, in Klammern eingeschlossen:

(00000000-0000-0000-0000-000000000000)
X Vier hexadezimale Werte, die in Klammern eingeschlossen sind, wobei der vierte Wert eine Teilmenge von acht Hexadezimalwerten ist, die auch in Klammern eingeschlossen sind:

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

Weitere Informationen

Gilt für: