Enum.TryParse Enum.TryParse Enum.TryParse Enum.TryParse Method

Definition

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. The return value indicates whether the conversion succeeded.

Überlädt

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<TEnum>(String, Boolean, TEnum) TryParse<TEnum>(String, Boolean, TEnum) TryParse<TEnum>(String, Boolean, TEnum) TryParse<TEnum>(String, Boolean, TEnum)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung beachtet wird. A parameter specifies whether the operation is case-sensitive. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. The return value indicates whether the conversion succeeded.

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

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. 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
Parameter
enumType
Type Type Type Type
Gibt zurück

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
Parameter
enumType
Type Type Type Type
Gibt zurück

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

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung beachtet wird. A parameter specifies whether the operation is case-sensitive. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. The return value indicates whether the conversion succeeded.

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
Typparameter
TEnum

Der Enumerationstyp, in die konvertiert Wert. The enumeration type to which to convert value.

Parameter
value
String String String String

Die Zeichenfolgendarstellung des Enumerationsnamens oder zugrunde liegenden Werts, der konvertiert werden soll. The string representation of the enumeration name or underlying value to convert.

ignoreCase
Boolean Boolean Boolean Boolean

true, wenn die Groß- und Kleinschreibung nicht berücksichtigt wird. false, wenn die Groß- und Kleinschreibung berücksichtigt wird. true to ignore case; false to consider case.

result
TEnum TEnum TEnum TEnum

Wenn diese Methode zurückgibt, enthält result ein Objekt des Typs TEnum, dessen Wert durch value dargestellt wird, wenn der Analysevorgang erfolgreich ist. When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. Wenn der Analysevorgang misslingt, enthält result den Standardwert des zugrunde liegenden Typs von TEnum. If the parse operation fails, result contains the default value of the underlying type of TEnum. Beachten Sie, dass dieser Wert kein Mitglied der TEnum-Enumeration sein muss. Note that this value need not be a member of the TEnum enumeration. Dieser Parameter wird nicht initialisiert übergeben. This parameter is passed uninitialized.

Gibt zurück

true, wenn der value-Parameter erfolgreich konvertiert wurde, andernfalls false. true if the value parameter was converted successfully; otherwise, false.

Ausnahmen

TEnum ist kein Enumerationstyp. TEnum is not an enumeration type.

Beispiele

Das folgende Beispiel definiert eine Colors -Enumeration, ruft der TryParse<TEnum>(String, Boolean, TEnum) -Methode zum Konvertieren von Zeichenfolgen in ihre entsprechenden Enumerationswerte und ruft die IsDefined Methode, um sicherzustellen, dass bestimmte ganzzahlige Werte zugrunde liegt, werden Werte in die Colors Enumeration.The following example defines a Colors enumeration, calls the TryParse<TEnum>(String, Boolean, TEnum) method to convert strings to their corresponding enumeration values, and calls the IsDefined method to ensure that particular integral values are underlying values in the Colors enumeration. Die TryParse<TEnum>(String, Boolean, TEnum) Methode verwendet Vergleich der Groß-/Kleinschreibung bei Namen von Konstanten, auf die entsprechende-Enumeration Werte, die zeichenfolgendarstellungen konvertiert werden.The TryParse<TEnum>(String, Boolean, TEnum) method uses case-insensitive comparison when trying to convert the string representations of named constants to their equivalent enumeration values.

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.

Hinweise

TryParse<TEnum>(String, Boolean, TEnum) ist identisch mit der Parse(Type, String, Boolean) -Methode, außer dass eine Ausnahme auszulösen, wird false , wenn die Konvertierung schlägt fehl.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. Es entfällt die Notwendigkeit für die Ausnahmebehandlung beim Analysieren der Zeichenfolgendarstellung eines Enumerationswerts.It eliminates the need for exception handling when parsing the string representation of an enumeration value.

Die value Parameter enthält, die Zeichenfolgendarstellung des zugrunde liegenden Wert oder eine benannte Konstante eines Enumerationsmembers oder eine Liste von benannten Konstanten oder zugrunde liegenden Werte durch Kommas (,) getrennt.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 (,). Wenn value enthält mehrere benannte Konstanten oder Werte, eine oder mehrere Leerzeichen vor oder nach einem einzelnen Wert, den Namen oder den Komma in 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. Wenn value ist eine Liste, result gibt den Wert von den angegebenen Namen oder die zugrunde liegenden Werte, die mit einer bitweisen Kombination OR Vorgang.If value is a list, result reflects the value of the specified names or underlying values combined with a bitwise OR operation. Wenn value ist die Zeichenfolgendarstellung des Namens des ein Enumerationswert, der Vergleich value bei der Enumeration von Namen, richten sich nach der ignoreCase Parameter.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. Wenn true, beim Vergleich wird die Groß-/Kleinschreibung; Wenn false, es wird die Groß-/Kleinschreibung beachtet.If true, the comparison is case-insensitive; if false, it is case-sensitive.

Wenn value ist ein Name, die nicht mit einer benannten Konstante der entsprechen TEnum, gibt die Methode zurück false.If value is a name that does not correspond to a named constant of TEnum, the method returns false. Wenn value ist die Zeichenfolgendarstellung einer ganzen Zahl, die nicht von einen zugrunde liegenden Wert darstellt der TEnum Enumeration, die Methode gibt die Member einer Enumeration, deren zugrunde liegenden Wert, zurück. value in einen ganzzahligen Typ konvertiert.If value is the string representation of an integer that does not represent an underlying value of the TEnum enumeration, the method returns an enumeration member whose underlying value is value converted to an integral type. Wenn dieses Verhalten nicht erwünscht ist, rufen Sie die IsDefined Methode, um sicherzustellen, dass eine bestimmte Zeichenfolgendarstellung einer ganzen Zahl tatsächlich ein Mitglied ist TEnum.If this behavior is undesirable, call the IsDefined method to ensure that a particular string representation of an integer is actually a member of TEnum.

Siehe auch

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

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. The return value indicates whether the conversion succeeded.

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
Typparameter
TEnum

Der Enumerationstyp, in die konvertiert Wert. The enumeration type to which to convert value.

Parameter
value
String String String String

Die Zeichenfolgendarstellung des Enumerationsnamens oder zugrunde liegenden Werts, der konvertiert werden soll. Dabei muss die Groß- und Kleinschreibung beachtet werden. The case-sensitive string representation of the enumeration name or underlying value to convert.

result
TEnum TEnum TEnum TEnum

Wenn diese Methode zurückgibt, enthält result ein Objekt des Typs TEnum, dessen Wert durch value dargestellt wird, wenn der Analysevorgang erfolgreich ist. When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. Wenn der Analysevorgang misslingt, enthält result den Standardwert des zugrunde liegenden Typs von TEnum. If the parse operation fails, result contains the default value of the underlying type of TEnum. Beachten Sie, dass dieser Wert kein Mitglied der TEnum-Enumeration sein muss. Note that this value need not be a member of the TEnum enumeration. Dieser Parameter wird nicht initialisiert übergeben. This parameter is passed uninitialized.

Gibt zurück

true, wenn der value-Parameter erfolgreich konvertiert wurde, andernfalls false. true if the value parameter was converted successfully; otherwise, false.

Ausnahmen

TEnum ist kein Enumerationstyp. TEnum is not an enumeration type.

Beispiele

Das folgende Beispiel definiert eine Colors -Enumeration, ruft der TryParse<TEnum>(String, TEnum) -Methode zum Konvertieren von Zeichenfolgen in ihre entsprechenden Enumerationswerte und ruft die IsDefined Methode, um sicherzustellen, dass bestimmte ganzzahlige Werte zugrunde liegt, werden Werte in die Colors Enumeration.The following example defines a Colors enumeration, calls the TryParse<TEnum>(String, TEnum) method to convert strings to their corresponding enumeration values, and calls the IsDefined method to ensure that particular integral values are underlying values in the Colors enumeration.

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.

Hinweise

TryParse<TEnum>(String, TEnum) ist identisch mit der Parse(Type, String) -Methode, außer dass eine Ausnahme auszulösen, wird false , wenn die Konvertierung schlägt fehl.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. Es entfällt die Notwendigkeit für die Ausnahmebehandlung beim Analysieren der Zeichenfolgendarstellung eines Enumerationswerts.It eliminates the need for exception handling when parsing the string representation of an enumeration value.

Die value Parameter enthält, die Zeichenfolgendarstellung des zugrunde liegenden Wert oder eine benannte Konstante eines Enumerationsmembers oder eine Liste von benannten Konstanten oder zugrunde liegenden Werte durch Kommas (,) getrennt.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 (,). Wenn value enthält mehrere benannte Konstanten oder Werte, eine oder mehrere Leerzeichen vor oder nach einem einzelnen Wert, den Namen oder den Komma in 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. Wenn value ist eine Liste, result gibt den Wert von den angegebenen Namen oder die zugrunde liegenden Werte, die mit einer bitweisen Kombination OR Vorgang.If value is a list, result reflects the value of the specified names or underlying values combined with a bitwise OR operation. Wenn value ist die Zeichenfolgendarstellung des Namens des ein Enumerationswert, der Vergleich value mit Enumeration Namen wird Groß-/Kleinschreibung beachtet.If value is the string representation of the name of an enumeration value, the comparison of value with enumeration names is case-sensitive.

Wenn value ist ein Name, die nicht mit einer benannten Konstante der entsprechen TEnum, gibt die Methode zurück false.If value is a name that does not correspond to a named constant of TEnum, the method returns false. Wenn value ist die Zeichenfolgendarstellung einer ganzen Zahl, die nicht von einen zugrunde liegenden Wert darstellt der TEnum Enumeration, die Methode gibt die Member einer Enumeration, deren zugrunde liegenden Wert, zurück. value in einen ganzzahligen Typ konvertiert.If value is the string representation of an integer that does not represent an underlying value of the TEnum enumeration, the method returns an enumeration member whose underlying value is value converted to an integral type. Wenn dieses Verhalten nicht erwünscht ist, rufen Sie die IsDefined Methode, um sicherzustellen, dass eine bestimmte Zeichenfolgendarstellung einer ganzen Zahl tatsächlich ein Mitglied ist TEnum.If this behavior is undesirable, call the IsDefined method to ensure that a particular string representation of an integer is actually a member of TEnum.

Siehe auch

Gilt für: