Guid.TryParseExact 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 |
|---|---|
| TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid) |
Converte o espaço de caracteres que representam o GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado. |
| TryParseExact(String, String, Guid) |
Converte a representação da cadeia de um GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado. |
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)
Converte o espaço de caracteres que representam o GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado.
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
Parâmetros
- input
- ReadOnlySpan<Char>
Um espaço de apenas leitura contendo os caracteres que representam o GUID a converter.
- format
- ReadOnlySpan<Char>
Um espaço de apenas leitura contendo um carácter que representa um dos seguintes especificadores e que indica o formato exato a usar ao interpretar input: "N", "D", "B", "P" ou "X".
- result
- Guid
Quando este método retorna, contém o valor analisado. Se o método devolver true, result contém um válido Guid. Se o método devolver false, result é Emptyigual a .
Devoluções
true se a operação de análise foi bem-sucedida; caso contrário, false.
Aplica-se a
TryParseExact(String, String, Guid)
Converte a representação da cadeia de um GUID para a estrutura equivalente Guid , desde que a cadeia esteja no formato especificado.
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);
static member TryParseExact : string * string * Guid -> bool
Public Shared Function TryParseExact (input As String, format As String, ByRef result As Guid) As Boolean
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".
- result
- Guid
Quando este método retorna, contém o valor analisado. Se o método devolver true, result contém um válido Guid. Se o método devolver false, result é Emptyigual a .
Devoluções
true se a operação de análise foi bem-sucedida; caso contrário, false.
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 TryParseExact método, que analisa com sucesso a cadeia que cumpre o 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)
{
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}}'
Observações
Este método exige que a cadeia de caracteres converta esteja exatamente no formato especificado pelo format parâmetro, após a remoção dos caracteres de espaço em branco inicial e final. Devolve false se input estiver null ou não no formato especificado por format, e não lança nenhuma exceção.
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: 00000000000000000000000000000000 |
| D | 32 dígitos separados por hífens: 00000000-0000-0000-0000-000000000000 |
| B | 32 dígitos separados por hífens, contidos entre colchetes: {00000000-0000-0000-0000-000000000000} |
| P | 32 dígitos 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}} |