Teilen ü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.

public:
 static bool TryParse(Type ^ enumType, ReadOnlySpan<char> value, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, ReadOnlySpan<char> value, out object? result);
static member TryParse : Type * ReadOnlySpan<char> * obj -> bool
Public Shared Function TryParse (enumType As Type, value As ReadOnlySpan(Of Char), ByRef result As Object) As Boolean

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:

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.

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);
public static bool TryParse (Type enumType, string value, out object result);
static member TryParse : Type * string * obj -> bool
Public Shared Function TryParse (enumType As Type, value As String, ByRef result As Object) As Boolean

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:

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.

public:
 static bool TryParse(Type ^ enumType, ReadOnlySpan<char> value, bool ignoreCase, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, ReadOnlySpan<char> value, bool ignoreCase, out object? result);
static member TryParse : Type * ReadOnlySpan<char> * bool * obj -> bool
Public Shared Function TryParse (enumType As Type, value As ReadOnlySpan(Of Char), ignoreCase As Boolean, ByRef result As Object) As Boolean

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:

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.

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);
public static bool TryParse (Type enumType, string value, bool ignoreCase, out object result);
static member TryParse : Type * string * bool * obj -> bool
Public Shared Function TryParse (enumType As Type, value As String, ignoreCase As Boolean, ByRef result As Object) As Boolean

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:

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.

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

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:

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.

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;
public static bool TryParse<TEnum> (string? value, out TEnum result) where TEnum : struct;
static member TryParse : string * 'Enum -> 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 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.

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.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = 
    [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    match Enum.TryParse colorString with
    | true, colorValue ->
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    | _ ->
        printfn $"{colorString} is not a member of the Colors enumeration."
// 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 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:

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.

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;
public static bool TryParse<TEnum> (string? value, bool ignoreCase, out TEnum result) where TEnum : struct;
static member TryParse : string * bool * 'Enum -> 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 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.

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.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = 
    [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    match Enum.TryParse(colorString, true) with
    | true, colorValue ->
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    | _ ->
        printfn $"{colorString} is not a member of the Colors enumeration."
// 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 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:

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.

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

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: