Guid.TryParseExact Метод

Определение

Перегрузки

Имя Описание
TryParseExact(String, String, Guid)

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

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)

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

TryParseExact(String, String, Guid)

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

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

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);
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

Параметры

input
String

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

format
String

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

result
Guid

При возврате этого метода содержит проанализированное значение. Если метод возвращается true, result содержит допустимое Guidзначение. Если метод возвращается false, result равно Empty.

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

true Значение , если операция синтаксического анализа была успешной; falseв противном случае .

Примеры

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

Комментарии

Для этого метода требуется, чтобы строка была преобразована точно в формате, указанном format параметром, после удаления символов пробела в начале и конце. Он возвращает false значение, если input оно не в null формате, указанном и 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}}

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

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

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)

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

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

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

Параметры

input
ReadOnlySpan<Char>

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

format
ReadOnlySpan<Char>

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

result
Guid

При возврате этого метода содержит проанализированное значение. Если метод возвращается true, result содержит допустимое Guidзначение. Если метод возвращается false, result равно Empty.

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

true Значение , если операция синтаксического анализа была успешной; falseв противном случае .

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