Guid.TryParseExact Guid.TryParseExact Guid.TryParseExact Guid.TryParseExact Method

定義

多載

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

將 GUID 的字串表示轉換為對等的 Guid 結構,但字串必須是指定的格式。Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid) TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, 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> *  -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), ByRef result As Guid) As Boolean

參數

format
ReadOnlySpan<Char>
result
Guid Guid Guid Guid

傳回

TryParseExact(String, String, Guid) TryParseExact(String, String, Guid) TryParseExact(String, String, Guid) TryParseExact(String, String, Guid)

將 GUID 的字串表示轉換為對等的 Guid 結構,但字串必須是指定的格式。Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

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);
static member TryParseExact : string * string *  -> bool
Public Shared Function TryParseExact (input As String, format As String, ByRef result As Guid) As Boolean

參數

input
String String String String

要轉換的 GUID。The GUID to convert.

format
String String String String

下列其中一個指定名稱,明確指出在解譯 input 時要使用的格式:"N"、"D"、"B"、"P" 或 "X"。One of the following specifiers that indicates the exact format to use when interpreting input: "N", "D", "B", "P", or "X".

result
Guid Guid Guid Guid

要包含所剖析之值的結構。The structure that will contain the parsed value. 如果方法傳回 true,則 result 包含有效的 GuidIf the method returns true, result contains a valid Guid. 如果方法會傳回 false,則 result 等於 EmptyIf the method returns false, result equals Empty.

傳回

如果剖析作業成功則為 true,否則為 falsetrue if the parse operation was successful; otherwise, false.

範例

下列範例會呼叫ToString(String)與每個支援的格式規範,以產生代表單一 GUID 的字串陣列的方法。The following example calls the ToString(String) method with each of the supported format specifiers to generate an array of strings that represent a single GUID. 這些接著會傳遞至TryParseExact方法,能成功剖析字串符合"B"格式規範。These are then passed to the TryParseExact method, which successfully parses the string that conforms to the "B" format specifier.

using System;

public class Example
{
   public static void Main()
   {
      // 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.
      string[] 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) {
         Guid newGuid;
         if (Guid.TryParseExact(stringGuid, "B", out newGuid))
            Console.WriteLine("Successfully parsed {0}", stringGuid);
         else 
            Console.WriteLine("Unable to parse '{0}'", stringGuid);
      }     
   }
}
// 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}}'
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參數,在移除開頭和尾端空白字元之後。This method requires the string to convert to be exactly in the format specified by the format parameter, after leading and trailing white-space characters are removed. 它會傳回false如果inputnull不在所指定的格式或format,而且不會擲回例外狀況。It returns false if input is null or is not in the format specified by format, and doesn't throw an exception.

下表顯示可接受的格式規範format參數。The following table shows the accepted format specifiers for the format parameter. "0"表示數字;連字號 ("-"),大括號 ("{","}"),和括號 ("(",")") 所示。"0" represents a digit; hyphens ("-"), braces ("{", "}"), and parentheses ("(", ")") appear as shown.

指定名稱Specifier 格式化的input參數Format of the input parameter
NN 32 的數字:32 digits:

0000000000000000000000000000000000000000000000000000000000000000
DD 連字號分隔的 32 位數:32 digits separated by hyphens:

00000000-0000-0000-0000-00000000000000000000-0000-0000-0000-000000000000
BB 連字號、 括在大括弧分隔的 32 位數:32 digits separated by hyphens, enclosed in braces:

{00000000-0000-0000-0000-000000000000}
PP 連字號、 括號括住分隔的 32 位數:32 digits separated by hyphens, enclosed in parentheses:

(00000000-0000-0000-0000-000000000000)(00000000-0000-0000-0000-000000000000)
XX 大括號,其中第四個值是八個十六進位值的子集,也會括在大括號括住的四個十六進位值:Four hexadecimal values enclosed in braces, where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces:

{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
另請參閱

適用於