Auf Englisch lesen

Freigeben über


Enum.TryParse Methode

Definition

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

Überlädt

TryParse(Type, ReadOnlySpan<Char>, Object)

Konvertiert die Spanne der Zeichendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

TryParse(Type, String, Object)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

TryParse(Type, ReadOnlySpan<Char>, Boolean, Object)

Konvertiert die Spanne der Zeichendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

TryParse(Type, String, Boolean, Object)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

TryParse<TEnum>(ReadOnlySpan<Char>, TEnum)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

TryParse<TEnum>(String, TEnum)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

TryParse<TEnum>(String, Boolean, TEnum)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung beachtet wird. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

TryParse<TEnum>(ReadOnlySpan<Char>, Boolean, TEnum)

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung beachtet wird. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

TryParse(Type, ReadOnlySpan<Char>, Object)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Spanne der Zeichendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

C#
public static bool TryParse(Type enumType, ReadOnlySpan<char> value, out object? result);

Parameter

enumType
Type

Der Enumerationstyp, der für die Analyse verwendet werden soll.

value
ReadOnlySpan<Char>

Die Spandarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

result
Object

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

.NET 8 und höhere Versionen: enumType ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET 6, 7, 8, 9, 10

TryParse(Type, String, Object)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

C#
public static bool TryParse(Type enumType, string? value, out object? result);
C#
public static bool TryParse(Type enumType, string value, out object result);

Parameter

enumType
Type

Der Enumerationstyp, der für die Analyse verwendet werden soll.

value
String

Die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

result
Object

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

.NET 8 und höhere Versionen: enumType ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

TryParse(Type, ReadOnlySpan<Char>, Boolean, Object)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Spanne der Zeichendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

C#
public static bool TryParse(Type enumType, ReadOnlySpan<char> value, bool ignoreCase, out object? result);

Parameter

enumType
Type

Der Enumerationstyp, der für die Analyse verwendet werden soll.

value
ReadOnlySpan<Char>

Die Spandarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

ignoreCase
Boolean

true, enumType im Modus ohne Groß-/Kleinschreibung zu lesen; false, um enumType im Modus "Groß-/Kleinschreibung" zu lesen.

result
Object

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

.NET 8 und höhere Versionen: enumType ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET 6, 7, 8, 9, 10

TryParse(Type, String, Boolean, Object)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

C#
public static bool TryParse(Type enumType, string? value, bool ignoreCase, out object? result);
C#
public static bool TryParse(Type enumType, string value, bool ignoreCase, out object result);

Parameter

enumType
Type

Der Enumerationstyp, der für die Analyse verwendet werden soll.

value
String

Die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

ignoreCase
Boolean

true, value im Modus ohne Groß-/Kleinschreibung zu lesen; false, um value im Modus "Groß-/Kleinschreibung" zu lesen.

result
Object

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

.NET 8 und höhere Versionen: enumType ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Standard 2.1

TryParse<TEnum>(ReadOnlySpan<Char>, TEnum)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt.

C#
public static bool TryParse<TEnum>(ReadOnlySpan<char> value, out TEnum result) where TEnum : struct;

Typparameter

TEnum

Der Typ des result-Objekts.

Parameter

value
ReadOnlySpan<Char>

Die Spandarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

result
TEnum

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

TEnum ist kein Enumerationstyp.

.NET 8 und höhere Versionen: TEnum ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET 6, 7, 8, 9, 10

TryParse<TEnum>(String, TEnum)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

C#
public static bool TryParse<TEnum>(string value, out TEnum result) where TEnum : struct;
C#
public static bool TryParse<TEnum>(string? value, out TEnum result) where TEnum : struct;

Typparameter

TEnum

Der Enumerationstyp, in den valuekonvertiert werden soll.

Parameter

value
String

Die Zeichenfolgendarstellung bei Groß-/Kleinschreibung des Enumerationsnamens oder des zugrunde liegenden Werts, der konvertiert werden soll.

result
TEnum

Wenn diese Methode zurückgegeben wird, enthält ein Objekt vom Typ TEnum, dessen Wert durch value dargestellt wird, wenn der Analysevorgang erfolgreich ist. Wenn der Analysevorgang fehlschlägt, enthält sie den Standardwert des zugrunde liegenden Typs von TEnum. Dieser Parameter wird nicht initialisiert übergeben.

Gibt zurück

true, wenn der parameter value erfolgreich konvertiert wurde; andernfalls false.

Ausnahmen

TEnum ist kein Enumerationstyp.

.NET 8 und höhere Versionen: TEnum ist ein boolescher Enumerationstyp.

Beispiele

Im folgenden Beispiel wird eine Colors-Aufzählung definiert, die TryParse<TEnum>(String, TEnum)-Methode aufgerufen, um Zeichenfolgen in ihre entsprechenden Enumerationswerte zu konvertieren, und die IsDefined-Methode wird aufgerufen, um sicherzustellen, dass bestimmte integrale Werte zugrunde liegende Werte in der Colors Enumeration sind.

C#
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.

Hinweise

TryParse<TEnum>(String, TEnum) ist mit der Parse(Type, String)-Methode identisch, mit der Ausnahme wird false zurückgegeben, wenn die Konvertierung fehlschlägt. Beim Analysieren der Zeichenfolgendarstellung eines Enumerationswerts ist die Ausnahmebehandlung nicht erforderlich.

Der value-Parameter enthält die Zeichenfolgendarstellung des zugrunde liegenden Werts oder der benannten Konstante eines Enumerationselements oder eine Liste mit benannten Konstanten oder zugrunde liegenden Werten, die durch Kommas (,) getrennt sind. Wenn value mehrere benannte Konstanten oder Werte enthält, kann ein oder mehrere Leerzeichen jedem Wert, Namen oder Komma in valuevorangestellt oder folgen. Wenn value eine Liste ist, gibt result den Wert der angegebenen Namen oder zugrunde liegenden Werte in Kombination mit einem bitweisen OR Vorgang wieder. Wenn value die Zeichenfolgendarstellung des Namens eines Enumerationswerts ist, wird bei dem Vergleich von value mit Enumerationsnamen die Groß-/Kleinschreibung beachtet.

Wenn value ein Name ist, der keiner benannten Konstante von TEnumentspricht, gibt die Methode falsezurück. Wenn value die Zeichenfolgendarstellung einer ganzen Zahl ist, die keinen zugrunde liegenden Wert der TEnum Enumeration darstellt, gibt die Methode ein Enumerationselement zurück, dessen zugrunde liegender Wert value in einen integralen Typ konvertiert wird. Wenn dieses Verhalten nicht erwünscht ist, rufen Sie die IsDefined-Methode auf, um sicherzustellen, dass eine bestimmte Zeichenfolgendarstellung einer ganzen Zahl tatsächlich ein Element von TEnumist.

Wenn der Analysevorgang fehlschlägt, enthält der parameter result den Standardwert 0, der möglicherweise kein Element der zugrunde liegenden TEnum Enumeration ist. Wenn den benannten Konstanten in TEnumkeine Werte zugewiesen werden, ist die Standardeinstellung gleich dem ersten Element der TEnum. Andernfalls entspricht der Standardwert dem Element in der Enumeration mit dem zugewiesenen Wert 0.

Weitere Informationen

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

TryParse<TEnum>(String, Boolean, TEnum)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung beachtet wird. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

C#
public static bool TryParse<TEnum>(string value, bool ignoreCase, out TEnum result) where TEnum : struct;
C#
public static bool TryParse<TEnum>(string? value, bool ignoreCase, out TEnum result) where TEnum : struct;

Typparameter

TEnum

Der Enumerationstyp, in den valuekonvertiert werden soll.

Parameter

value
String

Die Zeichenfolgendarstellung des Zu konvertierenden Enumerationsnamens oder zugrunde liegenden Werts.

ignoreCase
Boolean

true Groß-/Kleinschreibung ignorieren; false, um den Fall in Betracht zu ziehen.

result
TEnum

Wenn diese Methode zurückgegeben wird, enthält ein Objekt vom Typ TEnum, dessen Wert durch value dargestellt wird, wenn der Analysevorgang erfolgreich ist. Wenn der Analysevorgang fehlschlägt, enthält sie den Standardwert des zugrunde liegenden Typs von TEnum. Dieser Parameter wird nicht initialisiert übergeben.

Gibt zurück

true, wenn der parameter value erfolgreich konvertiert wurde; andernfalls false.

Ausnahmen

TEnum ist kein Enumerationstyp.

.NET 8 und höhere Versionen: TEnum ist ein boolescher Enumerationstyp.

Beispiele

Im folgenden Beispiel wird eine Colors-Aufzählung definiert, die TryParse<TEnum>(String, Boolean, TEnum)-Methode aufgerufen, um Zeichenfolgen in ihre entsprechenden Enumerationswerte zu konvertieren, und die IsDefined-Methode wird aufgerufen, um sicherzustellen, dass bestimmte integrale Werte zugrunde liegende Werte in der Colors Enumeration sind. Die TryParse<TEnum>(String, Boolean, TEnum)-Methode verwendet beim Versuch, die Zeichenfolgendarstellungen benannter Konstanten in die entsprechenden Enumerationswerte zu konvertieren.

C#
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.

Hinweise

TryParse<TEnum>(String, Boolean, TEnum) ist mit der Parse(Type, String, Boolean)-Methode identisch, mit der Ausnahme wird false zurückgegeben, wenn die Konvertierung fehlschlägt. Beim Analysieren der Zeichenfolgendarstellung eines Enumerationswerts ist die Ausnahmebehandlung nicht erforderlich.

Der value-Parameter enthält die Zeichenfolgendarstellung des zugrunde liegenden Werts oder der benannten Konstante eines Enumerationselements oder eine Liste mit benannten Konstanten oder zugrunde liegenden Werten, die durch Kommas (,) getrennt sind. Wenn value mehrere benannte Konstanten oder Werte enthält, kann ein oder mehrere Leerzeichen jedem Wert, Namen oder Komma in valuevorangestellt oder folgen. Wenn value eine Liste ist, gibt result den Wert der angegebenen Namen oder zugrunde liegenden Werte in Kombination mit einem bitweisen OR Vorgang wieder. Wenn value die Zeichenfolgendarstellung des Namens eines Enumerationswerts ist, hängt der Vergleich von value mit Enumerationsnamen vom ignoreCase-Parameter ab. Wenn true, wird die Groß-/Kleinschreibung beachtet; wenn false, wird die Groß-/Kleinschreibung beachtet.

Wenn value ein Name ist, der keiner benannten Konstante von TEnumentspricht, gibt die Methode falsezurück. Wenn value die Zeichenfolgendarstellung einer ganzen Zahl ist, die keinen zugrunde liegenden Wert der TEnum Enumeration darstellt, gibt die Methode ein Enumerationselement zurück, dessen zugrunde liegender Wert value in einen integralen Typ konvertiert wird. Wenn dieses Verhalten nicht erwünscht ist, rufen Sie die IsDefined-Methode auf, um sicherzustellen, dass eine bestimmte Zeichenfolgendarstellung einer ganzen Zahl tatsächlich ein Element von TEnumist.

Wenn der Analysevorgang fehlschlägt, enthält der parameter result den Standardwert 0, der möglicherweise kein Element der zugrunde liegenden TEnum Enumeration ist. Wenn den benannten Konstanten in TEnumkeine Werte zugewiesen werden, ist die Standardeinstellung gleich dem ersten Element der TEnum. Andernfalls entspricht der Standardwert dem Element in der Enumeration mit dem zugewiesenen Wert 0.

Weitere Informationen

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

TryParse<TEnum>(ReadOnlySpan<Char>, Boolean, TEnum)

Quelle:
Enum.cs
Quelle:
Enum.cs
Quelle:
Enum.cs

Konvertiert die Zeichenfolgendarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten in ein entsprechendes Aufzählungsobjekt. Ein Parameter gibt an, ob bei dem Vorgang die Groß-/Kleinschreibung beachtet wird. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich war.

C#
public static bool TryParse<TEnum>(ReadOnlySpan<char> value, bool ignoreCase, out TEnum result) where TEnum : struct;

Typparameter

TEnum

Der Typ des result-Objekts.

Parameter

value
ReadOnlySpan<Char>

Die Spandarstellung des Namens oder numerischen Werts einer oder mehrerer aufgezählter Konstanten.

ignoreCase
Boolean

true Groß-/Kleinschreibung ignorieren; false, um den Fall in Betracht zu ziehen.

result
TEnum

Wenn diese Methode truezurückgibt, enthält sie eine Enumerationskonstante, die den analysierten Wert darstellt.

Gibt zurück

true, wenn die Konvertierung erfolgreich war; andernfalls false.

Ausnahmen

TEnum ist kein Enumerationstyp.

.NET 8 und höhere Versionen: TEnum ist ein boolescher Enumerationstyp.

Gilt für:

.NET 10 und andere Versionen
Produkt Versionen
.NET 6, 7, 8, 9, 10