Guid.ParseExact Guid.ParseExact Guid.ParseExact Guid.ParseExact Method

定义

重载

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

将 GUID 的字符串表示形式转换为等效的 Guid 结构,前提是该字符串采用的是指定格式。Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

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

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

参数

format
ReadOnlySpan<Char>

返回

ParseExact(String, String) ParseExact(String, String) ParseExact(String, String) ParseExact(String, String)

将 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 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 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".

返回

一个包含已分析的值的结构。A structure that contains the value that was parsed.

异常

inputformatnullinput or format is null.

input 未采用 format 指定的格式。input is not in the format specified by format.

示例

下面的示例使用每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. 然后,将这些ParseExact方法传递给方法,该方法仅成功分析符合 "B" 格式说明符的字符串。These are then passed to the ParseExact method, which successfully parses only 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) {
         try {
            Guid newGuid = Guid.ParseExact(stringGuid, "B");
            Console.WriteLine("Successfully parsed {0}", stringGuid);
         }   
         catch (ArgumentNullException) { 
            Console.WriteLine("The string to be parsed is null.");
         }   
         catch (FormatException) {
            Console.WriteLine("Bad Format: {0}", stringGuid);
         }   
      }     
   }
}
// The example displays the following output:
//    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}}

注解

方法要求在删除前导和尾随空白字符后,将字符串转换为完全format按照参数指定的格式。 ParseExactThe ParseExact 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. 下表显示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}}
另请参阅

适用于