Guid.ParseExact Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Convierte la representación de intervalo de caracteres de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado. |
ParseExact(String, String) |
Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado. |
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)
Convierte la representación de intervalo de caracteres de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el 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>
Intervalo de solo lectura que contiene los caracteres que representan el GUID que se va a convertir.
- format
- ReadOnlySpan<Char>
Intervalo de caracteres de solo lectura que representa uno de los siguientes especificadores que indica el formato exacto que se va a usar al interpretar input
: "N", "D", "B", "P" o "X".
Devoluciones
Estructura que contiene el valor que se analizó.
Comentarios
El ParseExact método requiere que el intervalo de caracteres de solo lectura se convierta exactamente en el formato especificado por el format
parámetro, después de quitar caracteres de espacio en blanco iniciales y finales. En la tabla siguiente se muestran los especificadores de formato aceptados para el format
parámetro . "0" representa un dígito; Los guiones ("-"), las llaves ("{", "}") y los paréntesis ("(", ")") aparecen como se muestra.
Especificador | Formato del input parámetro |
---|---|
N | 32 dígitos hexadecimales: 00000000000000000000000000000000 |
D | 32 dígitos hexadecimales separados por guiones: 00000000-0000-0000-0000-000000000000 |
B | 32 dígitos hexadecimales separados por guiones, entre llaves: {00000000-0000-0000-0000-000000000000} |
P | 32 dígitos hexadecimales separados por guiones, entre paréntesis: (00000000-0000-0000-0000-000000000000) |
X | Cuatro valores hexadecimales entre llaves, donde el cuarto valor es un subconjunto de ocho valores hexadecimales que también se incluyen entre llaves: {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} |
Se aplica a
ParseExact(String, String)
Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el 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
Hora GUID que se va a convertir.
- format
- String
Uno de los siguientes especificadores que indica el formato exacto que se va a usar al interpretar input
: "N", "D", "B", "P" o "X".
Devoluciones
Estructura que contiene el valor que se analizó.
Excepciones
input
o format
es null
.
input
no está en el formato especificado por format
.
Ejemplos
En el ejemplo siguiente se llama al ToString(String) método con cada uno de los especificadores de formato admitidos para generar una matriz de cadenas que representan un único GUID. A continuación, se pasan al ParseExact método , que analiza correctamente solo la cadena que se ajusta al 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}}
Comentarios
El ParseExact método requiere que la cadena se convierta exactamente en el formato especificado por el format
parámetro, después de quitar caracteres de espacio en blanco iniciales y finales. En la tabla siguiente se muestran los especificadores de formato aceptados para el format
parámetro . "0" representa un dígito; Los guiones ("-"), las llaves ("{", "}") y los paréntesis ("(", ")") aparecen como se muestra.
Especificador | Formato del input parámetro |
---|---|
N | 32 dígitos hexadecimales: 00000000000000000000000000000000 |
D | 32 dígitos hexadecimales separados por guiones: 00000000-0000-0000-0000-000000000000 |
B | 32 dígitos hexadecimales separados por guiones, entre llaves: {00000000-0000-0000-0000-000000000000} |
P | 32 dígitos hexadecimales separados por guiones, entre paréntesis: (00000000-0000-0000-0000-000000000000) |
X | Cuatro valores hexadecimales entre llaves, donde el cuarto valor es un subconjunto de ocho valores hexadecimales que también se incluyen entre llaves: {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} |