Guid.ParseExact メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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
または format
が null
です。
input
が format
で指定された形式ではありません。
例
次の例では、 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}} |
こちらもご覧ください
適用対象
.NET