Guid.ParseExact Метод

Определение

Перегрузки

Имя Описание
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Преобразует представление диапазона символов GUID в эквивалентную Guid структуру, если строка находится в указанном формате.

ParseExact(String, String)

Преобразует строковое представление GUID в эквивалентную Guid структуру, если строка находится в указанном формате.

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

Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs

Преобразует представление диапазона символов GUID в эквивалентную Guid структуру, если строка находится в указанном формате.

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

Параметры

input
ReadOnlySpan<Char>

Диапазон только для чтения, содержащий символы, представляющие GUID для преобразования.

format
ReadOnlySpan<Char>

Диапазон символов только для чтения, представляющий один из следующих описателей, указывающий точный формат, используемый при интерпретации input: "N", "D", "B", "P" или "X".

Возвращаемое значение

Структура, содержащая значение, которое было проанализировано.

Комментарии

Метод ParseExact требует, чтобы диапазон символов только для чтения преобразовывается в формате, указанном format параметром, после удаления начальных и конечных символов пробелов. В следующей таблице показаны допустимые описатели формата для format параметра. "0" представляет цифру; фигурные скобки ("-"), фигурные скобки ("{", "}") и скобки ("(", ")") отображаются, как показано ниже.

Спецификатор input Формат параметра
N 32 шестнадцатеричные цифры:

00000000000000000000000000000000
Д 32 шестнадцатеричные цифры, разделенные дефисом:

00000000-0000-0000-0000-000000000000
Б 32 шестнадцатеричные цифры, разделенные дефисом, заключенные в фигурные скобки:

{00000000-0000-0000-0000-000000000000}
P 32 шестнадцатеричные цифры, разделенные дефисами, заключены в скобки:

(00000000-0000-0000-0000-000000000000)
Х Четыре шестнадцатеричные значения, заключенные в скобки, где четвертое значение является подмножеством из восьми шестнадцатеричных значений, которые также заключены в скобки:

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

Применяется к

ParseExact(String, String)

Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs
Исходный код:
Guid.cs

Преобразует строковое представление GUID в эквивалентную Guid структуру, если строка находится в указанном формате.

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

Параметры

input
String

GUID для преобразования.

format
String

Один из следующих описателей, указывающий точный формат, используемый при интерпретации input: "N", "D", "B", "P" или "X".

Возвращаемое значение

Структура, содержащая значение, которое было проанализировано.

Исключения

input или format есть null.

input не находится в формате, указанном в параметре format.

Примеры

В следующем примере метод вызывается ToString(String) с каждым из поддерживаемых описателей формата для создания массива строк, представляющих один GUID. Затем они передаются ParseExact методу, который успешно анализирует только строку, соответствующую описателям формата 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}}

Комментарии

Для ParseExact этого метода требуется, чтобы строка была преобразована именно в формате, указанном format параметром, после удаления символов пробела в начале и конце. В следующей таблице показаны допустимые описатели формата для format параметра. "0" представляет цифру; фигурные скобки ("-"), фигурные скобки ("{", "}") и скобки ("(", ")") отображаются, как показано ниже.

Спецификатор input Формат параметра
N 32 шестнадцатеричные цифры:

00000000000000000000000000000000
Д 32 шестнадцатеричные цифры, разделенные дефисом:

00000000-0000-0000-0000-000000000000
Б 32 шестнадцатеричные цифры, разделенные дефисом, заключенные в фигурные скобки:

{00000000-0000-0000-0000-000000000000}
P 32 шестнадцатеричные цифры, разделенные дефисами, заключены в скобки:

(00000000-0000-0000-0000-000000000000)
Х Четыре шестнадцатеричные значения, заключенные в скобки, где четвертое значение является подмножеством из восьми шестнадцатеричных значений, которые также заключены в скобки:

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

См. также раздел

Применяется к