Guid.Parse 方法

定义

重载

Parse(String, IFormatProvider)

将字符串分析为值。

Parse(ReadOnlySpan<Char>, IFormatProvider)

将字符的范围分析为值。

Parse(String)

将 GUID 的字符串表示形式转换为等效 Guid 结构。

Parse(ReadOnlySpan<Char>)

将表示 GUID 的只读字符范围转换为等效 Guid 结构。

Parse(String, IFormatProvider)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

将字符串分析为值。

public:
 static Guid Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<Guid>::Parse;
public static Guid Parse (string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> Guid
Public Shared Function Parse (s As String, provider As IFormatProvider) As Guid

参数

s
String

要分析的字符串。

provider
IFormatProvider

一个对象,提供有关 s的区域性特定格式设置信息。

返回

分析 s的结果。

实现

适用于

Parse(ReadOnlySpan<Char>, IFormatProvider)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

将字符的范围分析为值。

public:
 static Guid Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<Guid>::Parse;
public static Guid Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> Guid
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Guid

参数

s
ReadOnlySpan<Char>

要分析的字符范围。

provider
IFormatProvider

一个对象,提供有关 s的区域性特定格式设置信息。

返回

分析 s的结果。

实现

适用于

Parse(String)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

将 GUID 的字符串表示形式转换为等效 Guid 结构。

public:
 static Guid Parse(System::String ^ input);
public static Guid Parse (string input);
static member Parse : string -> Guid
Public Shared Function Parse (input As String) As Guid

参数

input
String

要转换的字符串。

返回

包含已分析的值的结构。

例外

input null

input 不是可识别的格式。

示例

以下示例创建一个新的 GUID,通过使用“B”、“D”和“X”格式说明符调用 ToString(String) 方法,并将其转换为三个单独的字符串表示形式,然后调用 Parse 方法将字符串转换回 Guid 值。

var originalGuid = Guid.NewGuid();
// Create an array of string representations of the GUID.
string[] stringGuids = { originalGuid.ToString("B"),
                         originalGuid.ToString("D"),
                         originalGuid.ToString("X") };

// Parse each string representation.
foreach (var stringGuid in stringGuids)
{
    try
    {
        Guid newGuid = Guid.Parse(stringGuid);
        Console.WriteLine($"Converted {stringGuid} to a Guid");
    }
    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:
//
//    Converted {81a130d2-502f-4cf1-a376-63edeb000e9f} to a Guid
//    Converted 81a130d2-502f-4cf1-a376-63edeb000e9f to a Guid
//    Converted {0x81a130d2,0x502f,0x4cf1,{0xa3,0x76,0x63,0xed,0xeb,0x00,0x0e,0x9f}} to a Guid
open System

let originalGuid = Guid.NewGuid()
// Create an array of string representations of the GUID.
let stringGuids =
    [| originalGuid.ToString "B"
       originalGuid.ToString "D"
       originalGuid.ToString "X" |]

// Parse each string representation.
for stringGuid in stringGuids do
    try
        let newGuid = Guid.Parse stringGuid
        printfn $"Converted {stringGuid} to a Guid"
    with
    | :? ArgumentNullException ->
        printfn "The string to be parsed is null."
    | :? FormatException ->
        printfn $"Bad format: {stringGuid}"

// The example displays output similar to the following:
//
//    Converted {81a130d2-502f-4cf1-a376-63edeb000e9f} to a Guid
//    Converted 81a130d2-502f-4cf1-a376-63edeb000e9f to a Guid
//    Converted {0x81a130d2,0x502f,0x4cf1,{0xa3,0x76,0x63,0xed,0xeb,0x00,0x0e,0x9f}} to a Guid
Module Example
   Public Sub Main()
      Dim originalGuid As Guid = Guid.NewGuid()
      ' Create an array of string representations of the GUID.
      Dim stringGuids() As String = { originalGuid.ToString("B"),
                                      originalGuid.ToString("D"),
                                      originalGuid.ToString("X") }
      
      ' Parse each string representation.
      For Each stringGuid In stringGuids
         Try 
            Dim newGuid As Guid = Guid.Parse(stringGuid) 
            Console.WriteLine("Converted {0} to a Guid", 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:
'    Converted {81a130d2-502f-4cf1-a376-63edeb000e9f} to a Guid
'    Converted 81a130d2-502f-4cf1-a376-63edeb000e9f to a Guid
'    Converted {0x81a130d2,0x502f,0x4cf1,{0xa3,0x76,0x63,0xed,0xeb,0x00,0x0e,0x9f}} to a Guid

注解

Parse 方法从 input 剪裁任何前导或尾随空格,并将 GUID 的字符串表示形式转换为 Guid 值。 此方法可以转换由 ToString(String)ToString(String, IFormatProvider) 方法生成的五种格式中的任何一种字符串,如下表所示。

规范 描述 格式
N 32 个十六进制数字 00000000000000000000000000000000
D 32 个十六进制数字,用连字符分隔 00000000-0000-0000-0000-000000000000
B 用连字符分隔的 32 个十六进制数字,用大括号括起来 {00000000-0000-0000-0000-000000000000}
P 用连字符分隔的 32 个十六进制数字,括在括号中 (00000000-0000-0000-0000-000000000000)
X 四个十六进制值括在大括号中,其中第四个值是八个十六进制值的子集,也用大括号括起来 {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

如果方法无法成功分析字符串,该方法将引发 FormatException。 原因包括:

  • input 包含不属于十六进制字符集的字符。

  • input 字符太多或太少。

  • input 的格式不是 ToString 方法识别的格式之一,在上表中列出。

使用 TryParse 方法捕获任何不成功的分析操作,而无需处理异常。

另请参阅

适用于

Parse(ReadOnlySpan<Char>)

Source:
Guid.cs
Source:
Guid.cs
Source:
Guid.cs

将表示 GUID 的只读字符范围转换为等效 Guid 结构。

public:
 static Guid Parse(ReadOnlySpan<char> input);
public static Guid Parse (ReadOnlySpan<char> input);
static member Parse : ReadOnlySpan<char> -> Guid
Public Shared Function Parse (input As ReadOnlySpan(Of Char)) As Guid

参数

input
ReadOnlySpan<Char>

包含表示 GUID 的字节的只读范围。

返回

包含已分析的值的结构。

例外

input 不是可识别的格式。

-或-

剪裁后,只读字符范围的长度为 0。

注解

Parse 方法从 input 剪裁任何前导或尾随空格字符,并将 input 中的剩余字符转换为 Guid 值。 此方法可以转换表示 ToString 方法生成的五种格式中的任何一种的字符范围,如下表所示。

规范 描述 格式
N 32 个十六进制数字 00000000000000000000000000000000
D 32 个十六进制数字,用连字符分隔 00000000-0000-0000-0000-000000000000
B 用连字符分隔的 32 个十六进制数字,用大括号括起来 {00000000-0000-0000-0000-000000000000}
P 用连字符分隔的 32 个十六进制数字,括在括号中 (00000000-0000-0000-0000-000000000000)
X 四个十六进制值括在大括号中,其中第四个值是八个十六进制值的子集,也用大括号括起来 {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

如果方法无法成功分析字符串,该方法将引发 FormatException。 原因包括:

  • input 包含不属于十六进制字符集的字符。

  • input 字符太多或太少。

  • input 的格式不是 ToString 方法识别的格式之一,在上表中列出。

使用 TryParse 方法捕获任何不成功的分析操作,而无需处理异常。

适用于