次の方法で共有


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 の文字スパン形式を等価の 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 桁の 16 進数:

00000000000000000000000000000000
D ハイフンで区切られた 32 桁の 16 進数:

00000000-0000-0000-0000-000000000000
B ハイフンで区切られた 32 桁の 16 進数(中かっこで囲む):

{00000000-0000-0000-0000-000000000000}
P 32 桁の 16 進数をハイフンで区切り、かっこで囲みます。

(00000000-0000-0000-0000-000000000000)
X 中かっこで囲まれた 4 つの 16 進値。4 番目の値は、中かっこで囲まれた 8 つの 16 進値のサブセットです。

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

適用対象

ParseExact(String, String)

ソース:
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 または formatnull です。

inputformat で指定された形式ではありません。

次の例では、 ToString(String) サポートされている各書式指定子を使用して メソッドを呼び出して、1 つの 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 桁の 16 進数:

00000000000000000000000000000000
D ハイフンで区切られた 32 桁の 16 進数:

00000000-0000-0000-0000-000000000000
B ハイフンで区切られた 32 桁の 16 進数(中かっこで囲む):

{00000000-0000-0000-0000-000000000000}
P 32 桁の 16 進数をハイフンで区切り、かっこで囲みます。

(00000000-0000-0000-0000-000000000000)
X 中かっこで囲まれた 4 つの 16 進値。4 番目の値は、中かっこで囲まれた 8 つの 16 進値のサブセットです。

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

こちらもご覧ください

適用対象