Enum.Parse Methode

Definition

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.

Überlädt

Parse(Type, ReadOnlySpan<Char>)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten in ein entsprechendes enumerationsiertes Objekt.

Parse(Type, String)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.

Parse(Type, ReadOnlySpan<Char>, Boolean)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten in ein entsprechendes enumerationsiertes Objekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

Parse(Type, String, Boolean)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Ein Parameter gibt an, ob bei der Operation die Groß- und Kleinschreibung nicht berücksichtigt wird.

Parse<TEnum>(String, Boolean)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts mindestens einer von TEnum angegebenen Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

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

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten, die von angegeben werden, TEnum in ein entsprechendes enumerationsiertes Objekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

Parse<TEnum>(String)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts mindestens einer von TEnum angegebenen Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.

Parse<TEnum>(ReadOnlySpan<Char>)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten, die von angegeben werden, TEnum in ein entsprechendes enumerationsiertes Objekt.

Parse(Type, ReadOnlySpan<Char>)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten in ein entsprechendes enumerationsiertes Objekt.

public:
 static System::Object ^ Parse(Type ^ enumType, ReadOnlySpan<char> value);
public static object Parse (Type enumType, ReadOnlySpan<char> value);
static member Parse : Type * ReadOnlySpan<char> -> obj
Public Shared Function Parse (enumType As Type, value As ReadOnlySpan(Of Char)) As Object

Parameter

enumType
Type

Ein Enumerationstyp.

value
ReadOnlySpan<Char>

Eine Spanne, die den zu konvertierenden Namen oder Wert enthält.

Gibt zurück

Object

Ein Objekt vom Typ enumType, dessen Wert durch value dargestellt wird.

Ausnahmen

enumType ist null.

enumType ist keine Enum.

value ist entweder eine leere Zeichenfolge oder eine Zeichenfolge, die nur Leerraum enthält.

value ist ein Name, aber nicht der Name einer der für die Enumeration definierten benannten Konstanten.

value liegt außerhalb des Bereichs des zugrunde liegenden Typs von enumType

Gilt für

Parse(Type, String)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.

public:
 static System::Object ^ Parse(Type ^ enumType, System::String ^ value);
public static object Parse (Type enumType, string value);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value);
static member Parse : Type * string -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Parse : Type * string -> obj
Public Shared Function Parse (enumType As Type, value As String) As Object

Parameter

enumType
Type

Ein Enumerationstyp.

value
String

Eine Zeichenfolge mit dem zu konvertierenden Namen oder Wert.

Gibt zurück

Object

Ein Objekt vom Typ enumType, dessen Wert durch value dargestellt wird.

Attribute

Ausnahmen

enumType oder value ist null.

enumType ist keine Enum.

- oder - value ist entweder eine leere Zeichenfolge oder eine Zeichenfolge, die nur Leerraum enthält.

- oder - value ist ein Name, aber nicht der Name einer der für die Enumeration definierten benannten Konstanten.

value liegt außerhalb des Bereichs des enumType zugrunde liegenden Typs.

Beispiele

Im folgenden Beispiel wird die Parse(Type, String) -Methode verwendet, um ein Array von Zeichenfolgen zu analysieren, die durch Aufrufen der -Methode erstellt GetNames werden. Außerdem wird die Parse(Type, String) -Methode verwendet, um einen Enumerationswert zu analysieren, der aus einem Bitfeld besteht.

using namespace System;

[Flags]
enum class Colors
{
   Red = 1,
   Green = 2,
   Blue = 4,
   Yellow = 8
};

int main()
{
   Console::WriteLine(  "The entries of the Colors enumeration are:" );
   Array^ a = Enum::GetNames( Colors::typeid );
   Int32 i = 0;
   while ( i < a->Length )
   {
      Object^ o = a->GetValue( i );
      Console::WriteLine( o->ToString() );
      i++;
   }

   Console::WriteLine();
   Object^ orange = Enum::Parse( Colors::typeid,  "Red, Yellow" );
   Console::WriteLine("The orange value has the combined entries of {0}", orange );
}

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red
Green
Blue
Yellow

The orange value has the combined entries of Red, Yellow

*/
using System;

public class ParseTest
{
    [Flags]
    enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

    public static void Main()
    {
        Console.WriteLine("The entries of the Colors enumeration are:");
        foreach (string colorName in Enum.GetNames(typeof(Colors)))
        {
            Console.WriteLine("{0} = {1:D}", colorName,
                                         Enum.Parse(typeof(Colors), colorName));
        }
        Console.WriteLine();

        Colors orange = (Colors) Enum.Parse(typeof(Colors), "Red, Yellow");
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}",
                           orange);
    }
}

/*
This code example produces the following results:

The entries of the Colors Enum are:
Red = 1
Green = 2
Blue = 4
Yellow = 8

The orange value 9 has the combined entries of Red, Yellow

*/
Public Class ParseTest

    <Flags()> _
    Enum Colors
        Red = 1
        Green = 2
        Blue = 4
        Yellow = 8
    End Enum

    Public Shared Sub Main()
        Console.WriteLine("The entries of the Colors enumeration are:")
        Dim colorName As String
        For Each colorName In [Enum].GetNames(GetType(Colors))
            Console.WriteLine("{0} = {1:D}", colorName, [Enum].Parse(GetType(Colors), colorName))
        Next
        Console.WriteLine()

        Dim orange As Colors = CType([Enum].Parse(GetType(Colors), "Red, Yellow"), Colors)
        Console.WriteLine("The orange value {0:D} has the combined entries of {0}", orange)
    End Sub
End Class

'This example displays the following output:
'
'The entries of the Colors Enum are:
'Red = 1
'Green = 2
'Blue = 4
'Yellow = 8
'
'The myOrange value 9 has the combined entries of Red, Yellow
'

Hinweise

Der value -Parameter enthält die Zeichenfolgendarstellung des zugrunde liegenden Werts oder der benannten Konstante eines Enumerationsmembers oder eine Liste benannter Konstanten, die durch Kommas (,) getrennt sind. Ein oder mehrere Leerzeichen können jedem Wert, Namen oder Komma in vorangestellt oder value folgen. Wenn value eine Liste ist, ist der Rückgabewert der Wert der angegebenen Namen in Kombination mit einer bitweisen OR Operation.

Wenn ein Name ist, der value keiner benannten Konstante von entspricht, enumType löst die Methode eine ArgumentException aus. Wenn value die Zeichenfolgendarstellung einer ganzen Zahl ist, die keinen zugrunde liegenden Wert der enumType Enumeration darstellt, gibt die Methode einen Enumerationsmember 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 Member von enumType ist. Das folgende Beispiel definiert eine Colors -Enumeration, ruft die Parse(Type, String) -Methode auf, um Zeichenfolgen in die entsprechenden Enumerationswerte zu konvertieren, und ruft die IsDefined -Methode auf, 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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString);
            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);
         }
         catch (ArgumentException) {
            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
         Try
            Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString), Colors)        
            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                    
         Catch e As ArgumentException
            Console.WriteLine("'{0}' is not a member of the Colors enumeration.", colorString)
         End Try
      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.

Bei diesem Vorgang wird die Groß-/Kleinschreibung beachtet.

Siehe auch

Gilt für

Parse(Type, ReadOnlySpan<Char>, Boolean)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten in ein entsprechendes enumerationsiertes Objekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

public:
 static System::Object ^ Parse(Type ^ enumType, ReadOnlySpan<char> value, bool ignoreCase);
public static object Parse (Type enumType, ReadOnlySpan<char> value, bool ignoreCase);
static member Parse : Type * ReadOnlySpan<char> * bool -> obj
Public Shared Function Parse (enumType As Type, value As ReadOnlySpan(Of Char), ignoreCase As Boolean) As Object

Parameter

enumType
Type

Ein Enumerationstyp.

value
ReadOnlySpan<Char>

Eine Spanne, die den zu konvertierenden Namen oder Wert enthält.

ignoreCase
Boolean

true, wenn die Groß-/Kleinschreibung nicht beachtet wird. false, wenn die Groß-/Kleinschreibung beachtet wird.

Gibt zurück

Object

Ein Objekt vom Typ enumType, dessen Wert durch value dargestellt wird.

Ausnahmen

enumType ist null.

enumType ist keine Enum.

value ist entweder eine leere Zeichenfolge oder eine Zeichenfolge, die nur Leerraum enthält.

value ist ein Name, aber nicht der Name einer der für die Enumeration definierten benannten Konstanten.

value liegt außerhalb des Bereichs des zugrunde liegenden Typs von enumType

Gilt für

Parse(Type, String, Boolean)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Ein Parameter gibt an, ob bei der Operation die Groß- und Kleinschreibung nicht berücksichtigt wird.

public:
 static System::Object ^ Parse(Type ^ enumType, System::String ^ value, bool ignoreCase);
public static object Parse (Type enumType, string value, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public static object Parse (Type enumType, string value, bool ignoreCase);
static member Parse : Type * string * bool -> obj
[<System.Runtime.InteropServices.ComVisible(true)>]
static member Parse : Type * string * bool -> obj
Public Shared Function Parse (enumType As Type, value As String, ignoreCase As Boolean) As Object

Parameter

enumType
Type

Ein Enumerationstyp.

value
String

Eine Zeichenfolge mit dem zu konvertierenden Namen oder Wert.

ignoreCase
Boolean

true, wenn die Groß- und Kleinschreibung nicht berücksichtigt wird. false, wenn die Groß- und Kleinschreibung berücksichtigt wird.

Gibt zurück

Object

Ein Objekt vom Typ enumType, dessen Wert durch value dargestellt wird.

Attribute

Ausnahmen

enumType oder value ist null.

enumType ist keine Enum.

- oder - value ist entweder eine leere Zeichenfolge ("") oder eine Zeichenfolge, die nur Leerraum enthält.

- oder - value ist ein Name, aber nicht der Name einer der für die Enumeration definierten benannten Konstanten.

value liegt außerhalb des Bereichs des enumType zugrunde liegenden Typs.

Beispiele

Im folgenden Beispiel wird die Parse(Type, String, Boolean) -Methode verwendet, um ein Array von Zeichenfolgen zu analysieren, die durch Aufrufen der -Methode erstellt GetNames werden. Außerdem wird die Parse(Type, String) -Methode verwendet, um einen Enumerationswert zu analysieren, der aus einem Bitfeld besteht.

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)
      {
         try {
            Colors colorValue = (Colors) Enum.Parse(typeof(Colors), colorString, true);
            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);
         }
         catch (ArgumentException) {
            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
         Try
            Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString, True), Colors)        
            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                    
         Catch e As ArgumentException
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
         End Try
      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

Der value -Parameter enthält die Zeichenfolgendarstellung des zugrunde liegenden Werts oder der benannten Konstante eines Enumerationsmembers oder eine Liste benannter Konstanten, die durch Kommas (,) getrennt sind. Ein oder mehrere Leerzeichen können jedem Wert, Namen oder Komma in vorangestellt oder value folgen. Wenn value eine Liste ist, ist der Rückgabewert der Wert der angegebenen Namen in Kombination mit einer bitweisen OR Operation.

Wenn ein Name ist, der value keiner benannten Konstante von entspricht, enumType löst die Methode eine ArgumentException aus. Wenn value die Zeichenfolgendarstellung einer ganzen Zahl ist, die keinen zugrunde liegenden Wert der enumType Enumeration darstellt, gibt die Methode einen Enumerationsmember 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 Member von enumType ist. Das folgende Beispiel definiert eine Colors -Enumeration, ruft die Parse(Type, String, Boolean) -Methode auf, um Zeichenfolgen in die entsprechenden Enumerationswerte zu konvertieren, und ruft die IsDefined -Methode auf, um sicherzustellen, dass bestimmte integrale Werte zugrunde liegende Werte in der Colors -Enumeration sind.

Der ignoreCase -Parameter gibt an, ob bei diesem Vorgang die Groß-/Kleinschreibung beachtet wird.

Siehe auch

Gilt für

Parse<TEnum>(String, Boolean)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts mindestens einer von TEnum angegebenen Enumerationskonstanten in ein entsprechendes Enumerationsobjekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(System::String ^ value, bool ignoreCase);
public static TEnum Parse<TEnum> (string value, bool ignoreCase) where TEnum : struct;
static member Parse : string * bool -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As String, ignoreCase As Boolean) As TEnum

Typparameter

TEnum

Ein Enumerationstyp.

Parameter

value
String

Eine Zeichenfolge mit dem zu konvertierenden Namen oder Wert.

ignoreCase
Boolean

true, wenn die Groß-/Kleinschreibung nicht beachtet wird. false, wenn die Groß-/Kleinschreibung beachtet wird.

Gibt zurück

TEnum

Ein Objekt vom Typ TEnum, dessen Wert durch value dargestellt wird.

Ausnahmen

TEnum weist nicht den Enum-Typ auf.

value ist null.

value enthält keine Informationen zur Enumeration.

Gilt für

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

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten, die von angegeben werden, TEnum in ein entsprechendes enumerationsiertes Objekt. Ein Parameter gibt an, ob beim Vorgang die Groß-/Kleinschreibung nicht beachtet wird.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(ReadOnlySpan<char> value, bool ignoreCase);
public static TEnum Parse<TEnum> (ReadOnlySpan<char> value, bool ignoreCase) where TEnum : struct;
static member Parse : ReadOnlySpan<char> * bool -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char), ignoreCase As Boolean) As TEnum

Typparameter

TEnum

Ein Enumerationstyp.

Parameter

value
ReadOnlySpan<Char>

Eine Spanne, die den zu konvertierenden Namen oder Wert enthält.

ignoreCase
Boolean

true, wenn die Groß-/Kleinschreibung nicht beachtet wird. false, wenn die Groß-/Kleinschreibung beachtet wird.

Gibt zurück

TEnum

TEnum Ein Objekt vom Typ TEnum , dessen Wert durch dargestellt value wird.

Ausnahmen

TEnum ist kein Enum Typ

value enthält keine Informationen zur Enumeration.

Gilt für

Parse<TEnum>(String)

Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts mindestens einer von TEnum angegebenen Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(System::String ^ value);
public static TEnum Parse<TEnum> (string value) where TEnum : struct;
static member Parse : string -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As String) As TEnum

Typparameter

TEnum

Ein Enumerationstyp.

Parameter

value
String

Eine Zeichenfolge mit dem zu konvertierenden Namen oder Wert.

Gibt zurück

TEnum

Ein Objekt vom Typ TEnum, dessen Wert durch value dargestellt wird.

Ausnahmen

TEnum weist nicht den Enum-Typ auf.

value ist null.

value enthält keine Informationen zur Enumeration.

Gilt für

Parse<TEnum>(ReadOnlySpan<Char>)

Konvertiert die Spanne der chars-Darstellung des Namens oder numerischen Werts einer oder mehrerer enumerationsierter Konstanten, die von angegeben werden, TEnum in ein entsprechendes enumerationsiertes Objekt.

public:
generic <typename TEnum>
 where TEnum : value class static TEnum Parse(ReadOnlySpan<char> value);
public static TEnum Parse<TEnum> (ReadOnlySpan<char> value) where TEnum : struct;
static member Parse : ReadOnlySpan<char> -> 'Enum (requires 'Enum : struct)
Public Shared Function Parse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char)) As TEnum

Typparameter

TEnum

Ein Enumerationstyp.

Parameter

value
ReadOnlySpan<Char>

Eine Spanne, die den zu konvertierenden Namen oder Wert enthält.

Gibt zurück

TEnum

TEnum Ein Objekt vom Typ TEnum , dessen Wert durch dargestellt value wird.

Ausnahmen

TEnum ist kein Enum Typ

value enthält keine Enumerationsinformationen

Gilt für