Share via

Facebook x.com LinkedIn Email

Guid.TryParseExact Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Converts the string representation of a GUID to the equivalent Guid value, provided that the string is in the specified format.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function TryParseExact ( _
 input As String, _
 format As String, _
 <OutAttribute> ByRef result As Guid _
) As Boolean
public static bool TryParseExact(
 string input,
 string format,
 out Guid result
)

Parameters

  • format
    Type: System.String
    One of the following specifiers that indicates the exact format to use when interpreting input: "N", "D", "B", "P", or "X".
  • result
    Type: System.Guid%
    When this method returns, contains the value that is equivalent to the GUID contained in input if the conversion succeeded, or Guid.Empty if the conversion failed.

Return Value

Type: System.Boolean
true if the parse operation was successful; otherwise, false.

Remarks

This method returns false if input is nulla null reference (Nothing in Visual Basic) or not in a recognized format, and does not throw an exception.

The following table shows the accepted format specifiers for the format parameter. "0" represents a digit; hyphens ("-"), braces ("{", "}"), and parentheses ("(", ")") appear as shown.

Specifier

Format of the input parameter

N

32 digits:

00000000000000000000000000000000

D

32 digits separated by hyphens:

00000000-0000-0000-0000-000000000000

B

32 digits separated by hyphens, enclosed in braces:

{00000000-0000-0000-0000-000000000000}

P

32 digits separated by hyphens, enclosed in parentheses:

(00000000-0000-0000-0000-000000000000)

X

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

Examples

The following example calls the ToString method with each of the supported format specifiers to generate an array of strings that represent a single GUID. These are then passed to the TryParseExact method, which successfully parses the string that conforms to the "B" format specifier.

Module Example
 Public Sub Demo(outputBlock As System.Windows.Controls.TextBlock)
 ' 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
 outputBlock.Text += String.Format("Successfully parsed {0}", 
 stringGuid) + vbCrLf
 Else
 outputBlock.Text += String.Format("Unable to parse '{0}'", 
 stringGuid) + vbCrLf
 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}}'
using System;
public class Example
{
 public static void Demo(System.Windows.Controls.TextBlock outputBlock)
 {
 // 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))
 outputBlock.Text += String.Format("Successfully parsed {0}\n", stringGuid);
 else 
 outputBlock.Text += String.Format("Unable to parse '{0}'\n", 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}}'

Version Information

Silverlight

Supported in: 5, 4

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.


  • Last updated on 2011年11月18日