Guid.ParseExact Método

Definição

Sobrecargas

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

Converte a representação de intervalo de caracteres de um GUID na estrutura Guid equivalente, desde que a cadeia de caracteres esteja no formato especificado.

ParseExact(String, String)

Converte a representação de cadeia de caracteres de um GUID na estrutura Guid equivalente, desde que a cadeia de caracteres esteja no formato especificado.

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

Converte a representação de intervalo de caracteres de um GUID na estrutura Guid equivalente, desde que a cadeia de caracteres esteja no formato especificado.

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

Parâmetros

input
ReadOnlySpan<Char>

Um intervalo somente leitura que contém os caracteres que representam o GUID a ser convertido.

format
ReadOnlySpan<Char>

Um intervalo somente leitura de caracteres que representam um dos seguintes especificadores, o qual indica o formato exato a ser usado ao interpretar input: "N", "D", "B", "P" ou "X".

Retornos

Guid

Uma estrutura que contém o valor analisado.

Comentários

O ParseExact método requer que o intervalo de caracteres somente leitura seja convertido para estar exatamente no formato especificado pelo parâmetro, depois que caracteres format de espaço em branco à esquerda e à direita são removidos. A tabela a seguir mostra os especificadores de formato aceitos para o parâmetro format. "0" representa um dígito; hifens ("-"), chaves ("{", "}") e parênteses (“(”, ")”) são exibidos como mostrado.

Especificador Formato do input parâmetro
N 32 dígitos hexadecimal:

00000000000000000000000000000000
D 32 dígitos hexadecimal separados por hifens:

00000000-0000-0000-0000-000000000000
B 32 dígitos hexadecimal separados por hifens, entre chaves:

{00000000-0000-0000-0000-000000000000}
P 32 dígitos hexadecimal separados por hifens, entre parênteses:

(00000000-0000-0000-0000-000000000000)
X Quatro valores hexadecimais entre chaves, em que o quarto valor é um subconjunto de oito valores hexadecimais que também é incluído entre chaves:

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

Aplica-se a

ParseExact(String, String)

Converte a representação de cadeia de caracteres de um GUID na estrutura Guid equivalente, desde que a cadeia de caracteres esteja no formato especificado.

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

Parâmetros

input
String

O GUID a converter.

format
String

Um dos seguintes especificadores que indica o formato exato a ser usado ao interpretar input: "N", "D", "B", "P" ou "X".

Retornos

Guid

Uma estrutura que contém o valor analisado.

Exceções

input ou format é null.

input não está no formato especificado por format.

Exemplos

O exemplo a seguir chama o ToString(String) método com cada um dos especificadores de formato com suporte para gerar uma matriz de cadeias de caracteres que representam um único GUID. Em seguida, eles são passados para o ParseExact método, que analisa com êxito apenas a cadeia de caracteres que está em conformidade com o especificador de formato "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)
{
    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}}

Comentários

O ParseExact método requer que a cadeia de caracteres seja convertida exatamente no formato especificado pelo format parâmetro, depois que caracteres de espaço em branco à esquerda e à direita são removidos. A tabela a seguir mostra os especificadores de formato aceitos para o parâmetro format. "0" representa um dígito; hifens ("-"), chaves ("{", "}") e parênteses (“(”, ")”) são exibidos como mostrado.

Especificador Formato do input parâmetro
N 32 dígitos hexadecimal:

00000000000000000000000000000000
D 32 dígitos hexadecimal separados por hifens:

00000000-0000-0000-0000-000000000000
B 32 dígitos hexadecimal separados por hifens, entre chaves:

{00000000-0000-0000-0000-000000000000}
P 32 dígitos hexadecimal separados por hifens, entre parênteses:

(00000000-0000-0000-0000-000000000000)
X Quatro valores hexadecimais entre chaves, em que o quarto valor é um subconjunto de oito valores hexadecimais que também é incluído entre chaves:

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

Confira também

Aplica-se a