Bekommen Wert von enum-Mitglied durch seinen Namen?
Sagen, dass ich eine variable, deren Wert (zum Beispiel "listMovie"
) ist der name einer enum
Mitglied:
public enum Movies
{
regMovie = 1,
listMovie = 2 //member whose value I want
}
In diesem Beispiel, würde ich mag, um den Wert 2
. Ist das möglich? Hier ist, was ich versucht habe:
public static void getMoviedata(string KeyVal)
{
if (Enum.IsDefined(typeof(TestAppAreana.MovieList.Movies), KeyVal))
{
//Can print the name but not value
((TestAppAreana.MovieList.Movies)2).ToString(); //list
Enum.GetName(typeof(TestAppAreana.MovieList.Movies), 2);
}
}
- Sie möchten Enum.Analysieren / Enum.TryParse
- mögliche Duplikate von Cast int enum in C#
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unter der Annahme, dass
KeyVal
ist ein string, der den Namen eines bestimmten enum-man könnte dies in der folgenden Weise:int
Wert, wenn Sie es haben? Sind Sie es durch den gleichen code, den du gepostet hast, das ist:((TestAppAreana.MovieList.Movies)value).ToString(); Enum.GetName(typeof(TestAppAreana.MovieList.Movies), value);
?int
:((int)Enum.Parse(typeof(TestAppAreana.MovieList.Movies), KeyVal)).ToString();
Vielleicht versuchen, es zu speichern, um eine lokaleint
variable zuerst für eine einfache Lesung/management.Enum.Parse()
nimmt einen Dritten parameterbool ignoreCase = false
.Möchten Sie den Enum-Wert aus dem string name. So können Sie die Enum.Analysieren Methode.
Können Sie auch versuchen, Enum.TryParse um zu überprüfen, ob das Parsen erfolgreich ist oder nicht.
number
variable in meinem code, und es istint
geben und nicht halten kannlistMovie
als Wert.int
auf die Reihe bekommen und dann können Sie konvertieren dieint
in diestring
.Verwenden: