# Enum.TryParseEnum.TryParseEnum.TryParseEnum.TryParse Method

## 多載

 TryParse(Type, String, Boolean, Object) TryParse(Type, String, Boolean, Object) TryParse(Type, String, Boolean, Object) TryParse(Type, String, Boolean, Object) TryParse(Type, String, Object) TryParse(Type, String, Object) TryParse(Type, String, Object) TryParse(Type, String, Object) TryParse(String, Boolean, TEnum) TryParse(String, Boolean, TEnum) TryParse(String, Boolean, TEnum) TryParse(String, Boolean, TEnum) 把一或多個列舉常數的名稱或數值的字串表示轉換為一個相等列舉物件。Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. 參數會指定運算是否區分大小寫。A parameter specifies whether the operation is case-sensitive. 指出轉換是否成功的傳回值。The return value indicates whether the conversion succeeded. TryParse(String, TEnum) TryParse(String, TEnum) TryParse(String, TEnum) TryParse(String, TEnum) 把一或多個列舉常數的名稱或數值的字串表示轉換為一個相等列舉物件。Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. 指出轉換是否成功的傳回值。The return value indicates whether the conversion succeeded.

## TryParse(Type, String, Boolean, Object)TryParse(Type, String, Boolean, Object)TryParse(Type, String, Boolean, Object)TryParse(Type, String, Boolean, Object)

``````public:
static bool TryParse(Type ^ enumType, System::String ^ value, bool ignoreCase, [Runtime::InteropServices::Out] System::Object ^ % result);``````
``public static bool TryParse (Type enumType, string value, bool ignoreCase, out object result);``
``static member TryParse : Type * string * bool *  -> bool``
``Public Shared Function TryParse (enumType As Type, value As String, ignoreCase As Boolean, ByRef result As Object) As Boolean``

#### 參數

enumType
Type Type Type Type

## TryParse(Type, String, Object)TryParse(Type, String, Object)TryParse(Type, String, Object)TryParse(Type, String, Object)

``````public:
static bool TryParse(Type ^ enumType, System::String ^ value, [Runtime::InteropServices::Out] System::Object ^ % result);``````
``public static bool TryParse (Type enumType, string value, out object result);``
``static member TryParse : Type * string *  -> bool``
``Public Shared Function TryParse (enumType As Type, value As String, ByRef result As Object) As Boolean``

#### 參數

enumType
Type Type Type Type

## TryParse<TEnum>(String, Boolean, TEnum)TryParse<TEnum>(String, Boolean, TEnum)TryParse<TEnum>(String, Boolean, TEnum)TryParse<TEnum>(String, Boolean, TEnum)

``````public:
generic <typename TEnum>
where TEnum : value class static bool TryParse(System::String ^ value, bool ignoreCase, [Runtime::InteropServices::Out] TEnum % result);``````
``public static bool TryParse<TEnum> (string value, bool ignoreCase, out TEnum result) where TEnum : struct;``
``static member TryParse : string * bool *  -> bool (requires 'Enum : struct)``
``Public Shared Function TryParse(Of TEnum As Structure) (value As String, ignoreCase As Boolean, ByRef result As TEnum) As Boolean``

#### 類型參數

TEnum

`value` 轉換所得的列舉類型。The enumeration type to which to convert `value`.

#### 參數

value
String String String String

ignoreCase
Boolean Boolean Boolean Boolean

`true` 以忽略大小寫，`false` 以區分大小寫。`true` to ignore case; `false` to consider case.

result
TEnum TEnum TEnum TEnum

#### 例外狀況

`TEnum` 不是列舉類型。`TEnum` is not an enumeration type.

### 範例

``````using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
public static void Main()
{
string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
foreach (string colorString in colorStrings)
{
Colors colorValue;
if (Enum.TryParse(colorString, true, out colorValue))
if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
else
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
}
}
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
``````
``````<Flags> Enum Colors As Integer
None = 0
Red = 1
Green = 2
Blue = 4
End Enum

Module Example
Public Sub Main()
Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
For Each colorString As String In colorStrings
Dim colorValue As Colors
If [Enum].TryParse(colorString, True, colorValue) Then
If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
Else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)
End If
Else
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
End If
Next
End Sub
End Module
' The example displays the following output:
'       Converted '0' to None.
'       Converted '2' to Green.
'       8 is not an underlying value of the Colors enumeration.
'       Converted 'blue' to Blue.
'       Converted 'Blue' to Blue.
'       Yellow is not a member of the Colors enumeration.
'       Converted 'Red, Green' to Red, Green.
``````

### 備註

TryParse<TEnum>(String, Boolean, TEnum) 等同於Parse(Type, String, Boolean)方法，而非擲回例外狀況，它會傳回`false`如果轉換失敗。TryParse<TEnum>(String, Boolean, TEnum) is identical to the Parse(Type, String, Boolean) method, except that instead of throwing an exception, it returns `false` if the conversion fails. 它就不需要剖析的列舉值的字串表示時所處理的例外狀況。It eliminates the need for exception handling when parsing the string representation of an enumeration value.

`value`參數包含的字串表示法為列舉成員的基礎值或具名的常數，或以逗號 （，） 分隔的具名的常數或基礎值的清單。The `value` parameter contains the string representation of an enumeration member's underlying value or named constant, or a list of named constants or underlying values delimited by commas (,). 如果`value`包含多個名為常數或值，一或多個空格可以之前或之後每個值、 名稱或在逗號`value`If `value` includes multiple named constants or values, one or more blank spaces can precede or follow each value, name, or comma in `value`. 如果`value`清單中，`result`會反映指定名稱的值，或基礎值的位元結合`OR`作業。If `value` is a list, `result` reflects the value of the specified names or underlying values combined with a bitwise `OR` operation. 如果`value`的列舉值，比較名稱的字串表示法`value`列舉型別名稱取決於`ignoreCase`參數。If `value` is the string representation of the name of an enumeration value, the comparison of `value` with enumeration names depends on the `ignoreCase` parameter. 如果`true`，比較不區分大小寫; 如果`false`，它會區分大小寫。If `true`, the comparison is case-insensitive; if `false`, it is case-sensitive.

## TryParse<TEnum>(String, TEnum)TryParse<TEnum>(String, TEnum)TryParse<TEnum>(String, TEnum)TryParse<TEnum>(String, TEnum)

``````public:
generic <typename TEnum>
where TEnum : value class static bool TryParse(System::String ^ value, [Runtime::InteropServices::Out] TEnum % result);``````
``public static bool TryParse<TEnum> (string value, out TEnum result) where TEnum : struct;``
``static member TryParse : string *  -> bool (requires 'Enum : struct)``
``Public Shared Function TryParse(Of TEnum As Structure) (value As String, ByRef result As TEnum) As Boolean``

#### 類型參數

TEnum

`value` 轉換所得的列舉類型。The enumeration type to which to convert `value`.

#### 參數

value
String String String String

result
TEnum TEnum TEnum TEnum

#### 例外狀況

`TEnum` 不是列舉類型。`TEnum` is not an enumeration type.

### 範例

``````using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
public static void Main()
{
string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
foreach (string colorString in colorStrings)
{
Colors colorValue;
if (Enum.TryParse(colorString, out colorValue))
if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
else
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
}
}
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       blue is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
``````
``````<Flags> Enum Colors As Integer
None = 0
Red = 1
Green = 2
Blue = 4
End Enum

Module Example
Public Sub Main()
Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
For Each colorString As String In colorStrings
Dim colorValue As Colors
If [Enum].TryParse(colorString, colorValue) Then
If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
Else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)
End If
Else
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
End If
Next
End Sub
End Module
' The example displays the following output:
'    Converted '0' to None.
'    Converted '2' to Green.
'    8 is not an underlying value of the Colors enumeration.
'    blue is not a member of the Colors enumeration.
'    Converted 'Blue' to Blue.
'    Yellow is not a member of the Colors enumeration.
'    Converted 'Red, Green' to Red, Green.
``````

### 備註

TryParse<TEnum>(String, TEnum) 等同於Parse(Type, String)方法，而非擲回例外狀況，它會傳回`false`如果轉換失敗。TryParse<TEnum>(String, TEnum) is identical to the Parse(Type, String) method, except that instead of throwing an exception, it returns `false` if the conversion fails. 它就不需要剖析的列舉值的字串表示時所處理的例外狀況。It eliminates the need for exception handling when parsing the string representation of an enumeration value.

`value`參數包含的字串表示法為列舉成員的基礎值或具名的常數，或以逗號 （，） 分隔的具名的常數或基礎值的清單。The `value` parameter contains the string representation of an enumeration member's underlying value or named constant, or a list of named constants or underlying values delimited by commas (,). 如果`value`包含多個名為常數或值，一或多個空格可以之前或之後每個值、 名稱或在逗號`value`If `value` includes multiple named constants or values, one or more blank spaces can precede or follow each value, name, or comma in `value`. 如果`value`清單中，`result`會反映指定名稱的值，或基礎值的位元結合`OR`作業。If `value` is a list, `result` reflects the value of the specified names or underlying values combined with a bitwise `OR` operation. 如果`value`的列舉值，比較名稱的字串表示法`value`與列舉型別名稱會區分大小寫。If `value` is the string representation of the name of an enumeration value, the comparison of `value` with enumeration names is case-sensitive.