Guid.ParseExact Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Converte a representação do espaço de caracteres de um GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado. |
| ParseExact(String, String) |
Converte a representação da cadeia de um GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado. |
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)
Converte a representação do espaço de caracteres de um GUID para a estrutura equivalente Guid , desde que a cadeia 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 espaço de apenas leitura contendo os caracteres que representam o GUID a converter.
- format
- ReadOnlySpan<Char>
Um intervalo de caracteres somente de leitura que representa um dos seguintes especificadores e indica o formato exato a usar ao interpretar input: "N", "D", "B", "P" ou "X".
Devoluções
Uma estrutura que contém o valor que foi analisado.
Observações
O ParseExact método exige que o espaço de caracteres apenas de leitura seja convertido para estar exatamente no formato especificado pelo format parâmetro, após a remoção dos caracteres de espaço branco inicial e final. A tabela seguinte mostra os especificadores de formato aceites para o format parâmetro. "0" representa um dígito; hífens ("-"), colchetes ("{", "}") e parênteses ("(", ")") aparecem conforme mostrado.
| Especificador | Formato do input parâmetro |
|---|---|
| N | 32 dígitos hexadecimais: 00000000000000000000000000000000 |
| D | 32 dígitos hexadecimais separados por hífens: 00000000-0000-0000-0000-000000000000 |
| B | 32 dígitos hexadecimais separados por hífens, encerrados entre colchetes: {00000000-0000-0000-0000-000000000000} |
| P | 32 dígitos hexadecimais separados por hífens, entre parênteses: (00000000-0000-0000-0000-000000000000) |
| X | Quatro valores hexadecimais contidos entre colchetes, onde o quarto valor é um subconjunto de oito valores hexadecimais que também está incluído entre colchetes: {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} |
Aplica-se a
ParseExact(String, String)
Converte a representação da cadeia de um GUID para a estrutura equivalente Guid , desde que a cadeia 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 para converter.
- format
- String
Um dos seguintes especificadores indica o formato exato a usar ao interpretar input: "N", "D", "B", "P" ou "X".
Devoluções
Uma estrutura que contém o valor que foi analisado.
Exceções
input ou format é null.
input não está no formato especificado por format.
Exemplos
O exemplo seguinte chama o ToString(String) método com cada um dos especificadores de formato suportados para gerar um array de cadeias que representam um único GUID. Estas são então passadas ao ParseExact método, que analisa com sucesso apenas a cadeia que corresponde ao especificador do 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}}
Observações
O ParseExact método exige que a cadeia converta para estar exatamente no formato especificado pelo format parâmetro, após a remoção dos caracteres de espaço em branco inicial e final. A tabela seguinte mostra os especificadores de formato aceites para o format parâmetro. "0" representa um dígito; hífens ("-"), colchetes ("{", "}") e parênteses ("(", ")") aparecem conforme mostrado.
| Especificador | Formato do input parâmetro |
|---|---|
| N | 32 dígitos hexadecimais: 00000000000000000000000000000000 |
| D | 32 dígitos hexadecimais separados por hífens: 00000000-0000-0000-0000-000000000000 |
| B | 32 dígitos hexadecimais separados por hífens, encerrados entre colchetes: {00000000-0000-0000-0000-000000000000} |
| P | 32 dígitos hexadecimais separados por hífens, entre parênteses: (00000000-0000-0000-0000-000000000000) |
| X | Quatro valores hexadecimais contidos entre colchetes, onde o quarto valor é um subconjunto de oito valores hexadecimais que também está incluído entre colchetes: {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} |