Guid.ParseExact Yöntem

Tanım

Aşırı Yüklemeler

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

Bir GUID'nin karakter aralığı gösterimini, dizenin belirtilen biçimde olması koşuluyla eşdeğer Guid yapıya dönüştürür.

ParseExact(String, String)

Bir GUID'nin dize gösterimini, dizenin belirtilen biçimde olması koşuluyla eşdeğer Guid yapıya dönüştürür.

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

Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs

Bir GUID'nin karakter aralığı gösterimini, dizenin belirtilen biçimde olması koşuluyla eşdeğer Guid yapıya dönüştürür.

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

Parametreler

input
ReadOnlySpan<Char>

Dönüştürülecek GUID'yi temsil eden karakterleri içeren salt okunur bir yayılma alanı.

format
ReadOnlySpan<Char>

Şu tanımlayıcılardan birini temsil eden ve "N", "D", "B", "P" veya "X" yorumlarken inputkullanılacak biçimi gösteren salt okunur karakter aralığı.

Döndürülenler

Ayrıştırılan değeri içeren bir yapı.

Açıklamalar

yöntemi, ParseExact baştaki ve sondaki boşluk karakterleri kaldırıldıktan sonra salt okunur karakter aralığının format parametresi tarafından belirtilen biçimde olmasını gerektirir. Aşağıdaki tabloda parametresi için kabul edilen biçim tanımlayıcıları gösterilmektedir format . "0" bir rakamı temsil eder; kısa çizgiler ("-"), ayraçlar ("{", "}") ve parantezler ("(", ")") gösterildiği gibi görünür.

Tanımlayıcı Parametrenin input biçimi
N 32 onaltılık basamak:

00000000000000000000000000000000
D Kısa çizgilerle ayrılmış 32 onaltılık basamak:

00000000-0000-0000-0000-000000000000
B Küme ayracı içine alınmış, kısa çizgilerle ayrılmış 32 onaltılık basamak:

{00000000-0000-0000-0000-000000000000}
P Parantez içine alınmış, kısa çizgilerle ayrılmış 32 onaltılık basamak:

(00000000-0000-0000-0000-000000000000)
X Ayraç içine alınmış dört onaltılık değer; dördüncü değer de ayraç içine alınmış sekiz onaltılık değerin alt kümesidir:

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

Şunlara uygulanır

ParseExact(String, String)

Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs
Kaynak:
Guid.cs

Bir GUID'nin dize gösterimini, dizenin belirtilen biçimde olması koşuluyla eşdeğer Guid yapıya dönüştürür.

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

Parametreler

input
String

Dönüştürülecek GUID.

format
String

Yorumlarken inputkullanılacak tam biçimi gösteren aşağıdaki tanımlayıcılardan biri: "N", "D", "B", "P" veya "X".

Döndürülenler

Ayrıştırılan değeri içeren bir yapı.

Özel durumlar

input veya format şeklindedir null.

input tarafından formatbelirtilen biçimde değil.

Örnekler

Aşağıdaki örnek, tek bir GUID'yi temsil eden bir dize dizisi oluşturmak için desteklenen biçim tanımlayıcılarının her biriyle yöntemini çağırır ToString(String) . Bunlar daha sonra yöntemine ParseExact geçirilir ve bu yöntem yalnızca "B" biçim belirticisine uyan dizeyi başarıyla ayrıştırılır.

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

Açıklamalar

yöntemi, ParseExact baştaki ve sondaki boşluk karakterleri kaldırıldıktan sonra dizenin format tam olarak parametresi tarafından belirtilen biçimde olmasını gerektirir. Aşağıdaki tabloda parametresi için kabul edilen biçim tanımlayıcıları gösterilmektedir format . "0" bir rakamı temsil eder; kısa çizgiler ("-"), ayraçlar ("{", "}") ve parantezler ("(", ")") gösterildiği gibi görünür.

Tanımlayıcı Parametrenin input biçimi
N 32 onaltılık basamak:

00000000000000000000000000000000
D Kısa çizgilerle ayrılmış 32 onaltılık basamak:

00000000-0000-0000-0000-000000000000
B Küme ayracı içine alınmış, kısa çizgilerle ayrılmış 32 onaltılık basamak:

{00000000-0000-0000-0000-000000000000}
P Parantez içine alınmış, kısa çizgilerle ayrılmış 32 onaltılık basamak:

(00000000-0000-0000-0000-000000000000)
X Ayraç içine alınmış dört onaltılık değer; dördüncü değer de ayraç içine alınmış sekiz onaltılık değerin alt kümesidir:

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

Ayrıca bkz.

Şunlara uygulanır