Прочитать на английском

Поделиться через


Guid.ParseExact Метод

Определение

Перегрузки

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

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

ParseExact(String, String)

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

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

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

C#
public static Guid ParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format);

Параметры

input
ReadOnlySpan<Char>

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

format
ReadOnlySpan<Char>

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

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

Guid

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

Комментарии

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

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

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

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

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

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

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

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

.NET 7 и другие версии
Продукт Версии
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Standard 2.1

ParseExact(String, String)

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

C#
public static Guid ParseExact (string input, string format);

Параметры

input
String

Время в формате GUID, которое требуется преобразовать.

format
String

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

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

Guid

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

Исключения

Параметр input или format имеет значение null.

Формат input отличается от указанного в format.

Примеры

В следующем примере метод вызывается ToString(String) с каждым из поддерживаемых описателей формата для создания массива строк, представляющих один GUID. Затем они передаются методу ParseExact , который успешно анализирует только строку, соответствующую описателям формата B.

C#
// 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}}

Комментарии

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

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

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

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

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

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

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

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

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

.NET 7 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0