Web- und Software Development

String nach Enum casten | C# Quicky

Written By: Mario Priebe - Mai• 28•10

Der Fall das man ein Objekt in ein anderes Objekt mappen muss kommt doch recht häufig vor. Auf der einen Seite hat man eine Aufzählung und auf der anderen Seite einen String oder einen numerischen Wert.

Folgende Zuweisungen zeigen, wie man den String oder eben einen numerischen Wert in eine Enumeration casten kann.


Einfacher Cast, String nach Object

var a1 = Enum.Parse(typeof(MyEnum), "Herr");

IgnoreCase – ignoriert Gross- und Kleinschreibung – Standard ist false

var a2 = Enum.Parse(typeof(MyEnum), "frau", true);

Rückgabe in ein Enum

Enum a3 = (Enum)Enum.Parse(typeof(MyEnum), "Familie");

Rückgabe in ein Object

object a4 = Enum.Parse(typeof(MyEnum), "Firma");

Rückgabe in ein String

string a5 = (Enum.Parse(typeof(MyEnum), "OhneAnrede")).ToString();

Durch Übergabe eines numerischen Wertes

var a6 = Enum.Parse(typeof(MyEnum), "3");

Ob ein Wert in der Aufzählung aufgeführt ist, prüft man mit IsDefined

1
2
3
string a7;
if (Enum.IsDefined(typeof(MyEnum), "OhneAnrede"))
    a7 = (Enum.Parse(typeof(MyEnum), "OhneAnrede", true)).ToString();

Dieser Aufruf funktioniert nicht, da es nicht in einen unbekannten Type umgewandelt werden kann

1
2
3
var a7;
if (Enum.IsDefined(typeof(MyEnum), "OhneAnrede"))
    a7 = Enum.Parse(typeof(MyEnum), "OhneAnrede", true);


Die entsprechende Enum sieht für das Beispiel wie folgt aus:

public enum MyEnum
{
    Herr,
    Frau,
    Familie,
    Firma,
    OhneAnrede
}

Viel Spass beim entwicklen : )

Ähnliche Beiträge

You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.