(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

Enum.Parse-Methode (Type, String)

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)]
public static Object Parse(
	Type enumType,
	string value
)

Parameter

enumType
Typ: System.Type
Ein Enumerationstyp.
value
Typ: System.String
Eine Zeichenfolge mit dem zu konvertierenden Namen oder Wert.

Rückgabewert

Typ: System.Object
Ein Objekt vom Typ enumType, dessen Wert durch value dargestellt wird.
AusnahmeBedingung
ArgumentNullException

enumType oder value ist null.

ArgumentException

enumType ist kein 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.

OverflowException

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

Der value-Parameter enthält die Zeichenfolgendarstellung des zugrunde liegenden Werts oder der benannten Konstante eines Enumerationsmembers oder eine Liste mit von Kommas (,) begrenzten benannten Konstanten. Vor oder nach einem Wert, Namen oder Komma in value dürfen ein oder mehrere Leerräume stehen. Wenn value eine Liste ist, ist der Rückgabewert der Wert der mit einer bitweisen OR-Operation kombinierten angegebenen Namen.

Wenn value ein Name ist, der keiner benannten Konstante von enumType entspricht, löst die Methode ArgumentException aus. Wenn value die Zeichenfolgendarstellung einer ganzen Zahl ist, die keinen zugrunde liegenden Wert der enumType-Enumeration darstellt, gibt die Methode einen Enumerationsmember mit einem zugrunde liegenden Wert value zurück, der in einen ganzzahligen Typ konvertiert wurde. Wenn dieses Verhalten nicht erwünscht ist, rufen Sie die IsDefined-Methode auf, um sicherzustellen, dass eine bestimmte Zeichenfolgendarstellung einer ganzen Zahl eigentlich ein Member von enumType ist. Im folgenden Beispiel wird eine Colors-Enumeration definiert, die Parse(Type, String)-Methode aufgerufen, um Zeichenfolgen in ihre entsprechenden Enumerationswerte zu konvertieren, und die IsDefined-Methode aufgerufen, um sicherzustellen, dass bestimmte ganzzahlige Werte Werten in der Colors-Enumeration zugrunde liegen.


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.


Bei dieser Operation wird die Groß- und Kleinschreibung berücksichtigt.

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


using System;

public class ParseTest
{
    [FlagsAttribute]
    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

*/


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.