Guid.ParseExact Method

Definition

Overloads

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.Converts the character span representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

ParseExact(String, String)

Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat.Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

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.Converts the character span representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

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

Parameters

input
ReadOnlySpan<Char>

Eine schreibgeschützte Spanne, die die Zeichen enthält, die die zu konvertierende GUID darstellen.A read-only span containing the characters representing the GUID to convert.

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".A read-only span of characters representing one of the following specifiers that indicates the exact format to use when interpreting input: "N", "D", "B", "P", or "X".

Returns

Guid

Eine Struktur, die den analysierten Wert enthält.A structure that contains the value that was parsed.

Remarks

Die ParseExact-Methode erfordert, dass die schreibgeschützte Zeichen Spanne in das Format konvertiert wird, das vom format-Parameter angegeben wird, nachdem führende und nachfolgende Leerzeichen entfernt wurden.The ParseExact method requires the read-only character span to convert to be exactly in the format specified by the format parameter, after leading and trailing white-space characters are removed. In der folgenden Tabelle sind die akzeptierten Format Bearbeiter für den format-Parameter aufgeführt.The following table shows the accepted format specifiers for the format parameter. "0" stellt eine Ziffer dar. Bindestriche ("-"), geschweifte Klammern ("{", "}") und Klammern ("(", ")") werden wie dargestellt angezeigt."0" represents a digit; hyphens ("-"), braces ("{", "}"), and parentheses ("(", ")") appear as shown.

BezeichnerSpecifier Format des input-ParametersFormat of the input parameter
NN 32 Ziffern:32 digits:

0000000000000000000000000000000000000000000000000000000000000000
DD 32 Ziffern durch Bindestriche getrennt:32 digits separated by hyphens:

00000000-0000-0000-0000-00000000000000000000-0000-0000-0000-000000000000
BB 32 Ziffern, die durch Bindestriche getrennt sind, sind in geschweiften Klammern eingeschlossen:32 digits separated by hyphens, enclosed in braces:

{00000000-0000-0000-0000-000000000000}
PP 32 Ziffern sind durch Bindestriche getrennt und in Klammern eingeschlossen:32 digits separated by hyphens, enclosed in parentheses:

(00000000-0000-0000-0000-000000000000)(00000000-0000-0000-0000-000000000000)
XX Vier hexadezimale Werte, die in geschweiften Klammern eingeschlossen sind, wobei der vierte Wert eine Teilmenge von acht hexadezimal Werten ist, die ebenfalls in geschweiften Klammern eingeschlossen sind:Four hexadecimal values enclosed in braces, where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces:

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

ParseExact(String, String)

Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat.Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

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

Parameters

input
String

Die zu konvertierende GUID.The GUID to convert.

format
String

Einer der folgenden Spezifizierer, der beim Interpretieren von input das genaue zu verwendende Format angibt: "N", "D", "B", "P" oder "X".One of the following specifiers that indicates the exact format to use when interpreting input: "N", "D", "B", "P", or "X".

Returns

Guid

Eine Struktur, die den analysierten Wert enthält.A structure that contains the value that was parsed.

Exceptions

input oder format ist null.input or format is null.

input entspricht nicht dem von format angegebenen Format.input is not in the format specified by format.

Examples

Im folgenden Beispiel wird die ToString(String)-Methode mit jedem der unterstützten Format Bearbeiter aufgerufen, um ein Array von Zeichen folgen zu generieren, die eine einzelne GUID darstellen.The following example calls the ToString(String) method with each of the supported format specifiers to generate an array of strings that represent a single GUID. Diese werden dann an die ParseExact-Methode weitergegeben, die erfolgreich nur die Zeichenfolge analysiert, die dem Format Bezeichner "B" entspricht.These are then passed to the ParseExact method, which successfully parses only the string that conforms to the "B" format specifier.

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

Remarks

Die ParseExact-Methode erfordert, dass die Zeichenfolge in das Format konvertiert wird, das vom format-Parameter angegeben wird, nachdem führende und nachfolgende Leerzeichen entfernt wurden.The ParseExact method requires the string to convert to be exactly in the format specified by the format parameter, after leading and trailing white-space characters are removed. In der folgenden Tabelle sind die akzeptierten Format Bearbeiter für den format-Parameter aufgeführt.The following table shows the accepted format specifiers for the format parameter. "0" stellt eine Ziffer dar. Bindestriche ("-"), geschweifte Klammern ("{", "}") und Klammern ("(", ")") werden wie dargestellt angezeigt."0" represents a digit; hyphens ("-"), braces ("{", "}"), and parentheses ("(", ")") appear as shown.

BezeichnerSpecifier Format des input-ParametersFormat of the input parameter
NN 32 Ziffern:32 digits:

0000000000000000000000000000000000000000000000000000000000000000
DD 32 Ziffern durch Bindestriche getrennt:32 digits separated by hyphens:

00000000-0000-0000-0000-00000000000000000000-0000-0000-0000-000000000000
BB 32 Ziffern, die durch Bindestriche getrennt sind, sind in geschweiften Klammern eingeschlossen:32 digits separated by hyphens, enclosed in braces:

{00000000-0000-0000-0000-000000000000}
PP 32 Ziffern sind durch Bindestriche getrennt und in Klammern eingeschlossen:32 digits separated by hyphens, enclosed in parentheses:

(00000000-0000-0000-0000-000000000000)(00000000-0000-0000-0000-000000000000)
XX Vier hexadezimale Werte, die in geschweiften Klammern eingeschlossen sind, wobei der vierte Wert eine Teilmenge von acht hexadezimal Werten ist, die ebenfalls in geschweiften Klammern eingeschlossen sind:Four hexadecimal values enclosed in braces, where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces:

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

See also

Applies to