Guid.Parse 方法

定义

重载

名称 说明
Parse(String, IFormatProvider)

将字符串分析为值。

Parse(ReadOnlySpan<Char>, IFormatProvider)

将字符的范围分析为值。

Parse(ReadOnlySpan<Byte>, IFormatProvider)

将 UTF-8 字符的范围分析为值。

Parse(ReadOnlySpan<Char>)

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

Parse(ReadOnlySpan<Byte>)
Parse(String)

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

Parse(String, IFormatProvider)

Source:
Guid.cs
Source:
Guid.cs
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
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(ReadOnlySpan<Byte>, IFormatProvider)

Source:
Guid.cs
Source:
Guid.cs

将 UTF-8 字符的范围分析为值。

public:
 static Guid Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<Guid>::Parse;
public static Guid Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> Guid
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Guid

参数

utf8Text
ReadOnlySpan<Byte>

要分析的 UTF-8 字符的范围。

provider
IFormatProvider

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

返回

分析 utf8Text的结果。

实现

适用于

Parse(ReadOnlySpan<Char>)

Source:
Guid.cs
Source:
Guid.cs
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 五种格式中的任何一种的字符范围,如下表所示。

说明符 Description Format
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<Byte>)

Source:
Guid.cs
Source:
Guid.cs
public:
 static Guid Parse(ReadOnlySpan<System::Byte> utf8Text);
public static Guid Parse(ReadOnlySpan<byte> utf8Text);
static member Parse : ReadOnlySpan<byte> -> Guid
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte)) As Guid

参数

utf8Text
ReadOnlySpan<Byte>

返回

适用于

Parse(String)

Source:
Guid.cs
Source:
Guid.cs
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

要转换的字符串。

返回

包含已分析的值的结构。

例外

inputnull

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)五种格式中的任何一种的字符串,如下表所示。

说明符 Description Format
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使用该方法捕获任何不成功的分析操作,而无需处理异常。

另请参阅

适用于