Teilen über


Guid.ParseExact Methode

Definition

Überlädt

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

Konvertiert die Zeichenspanne einer GUID unter der Voraussetzung, dass die Zeichenfolge das angegebene Format aufweist, in die entsprechende Guid-Struktur.

ParseExact(String, String)

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

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

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

Konvertiert die Zeichenspanne einer GUID unter der Voraussetzung, dass die Zeichenfolge das angegebene Format aufweist, in die entsprechende Guid-Struktur.

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>

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

format
ReadOnlySpan<Char>

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

Gibt zurück

Eine Struktur, die den analysierten Wert enthält.

Hinweise

Für ParseExact die Methode muss die schreibgeschützte Zeichenspanne konvertiert werden, um genau in dem vom format Parameter angegebenen Format zu sein, nachdem führende und nachfolgende Leerzeichen entfernt wurden. Die folgende Tabelle zeigt die akzeptierten Formatbezeichner für den format Parameter. "0" stellt eine Ziffer dar; Bindestriche ("-"), Klammern ("{", "}") und Klammern ("(", ")") werden wie dargestellt angezeigt.

Bezeichner Format des input Parameters
N 32 Hexadezimalstellen:

00000000000000000000000000000000
D 32 hexadezimale Ziffern durch Bindestriche getrennt:

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

{00000000-0000-0000-0000-000000000000}
P 32 hexadezimale 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}}

Gilt für:

ParseExact(String, String)

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

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

Gibt zurück

Eine Struktur, die den analysierten Wert enthält.

Ausnahmen

input oder format ist null.

input entspricht nicht dem von format angegebenen Format.

Beispiele

Im folgenden Beispiel wird die ToString(String) -Methode mit jedem der unterstützten Formatbezeichner aufgerufen, um ein Array von Zeichenfolgen zu generieren, das eine einzelne GUID darstellt. Diese werden dann an die ParseExact -Methode übergeben, die nur 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)
{
    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}}

Hinweise

Die ParseExact Methode erfordert, dass die Zeichenfolge konvertiert werden soll, um genau in dem vom format Parameter angegebenen Format zu sein, nachdem führende und nachfolgende Leerzeichen entfernt wurden. Die folgende Tabelle zeigt die akzeptierten Formatbezeichner für den format Parameter. "0" stellt eine Ziffer dar; Bindestriche ("-"), Klammern ("{", "}") und Klammern ("(", ")") werden wie dargestellt angezeigt.

Bezeichner Format des input Parameters
N 32 Hexadezimalstellen:

00000000000000000000000000000000
D 32 hexadezimale Ziffern durch Bindestriche getrennt:

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

{00000000-0000-0000-0000-000000000000}
P 32 hexadezimale 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: