从变量名称中获取枚举值

Nav*_* CS 14 .net c# enums

我在"listMovie"这样的变量中使用了枚举名称.通过使用这个我必须得到值"2"是否可能.

public enum Movies
{
    regMovie = 1,
    listMovie = 2 // member whose value I want
}
Run Code Online (Sandbox Code Playgroud)

如果任何人面临这一挑战,请提前建议...

Paw*_*ger 39

假设这KeyVal是一个表示某个枚举名称的字符串,您可以通过以下方式执行此操作:

int value = (int)Enum.Parse(typeof(TestAppAreana.MovieList.Movies), KeyVal);
Run Code Online (Sandbox Code Playgroud)

  • @NavajyothCS 听起来您没有按照此处的说明进行操作。它应该像他写的那样工作。 (3认同)

Sac*_*hin 5

您想从字符串名称获取Enum值。因此,您可以使用Enum.Parse方法。

int number = (int)Enum.Parse(typeof(TestAppAreana.MovieList.Movies), KeyVal)
Run Code Online (Sandbox Code Playgroud)

您也可以尝试Enum.TryParse来检查解析是否成功。

Movies movie;
if (Enum.TryParse(KeyVal, true, out movie))
{

}
Run Code Online (Sandbox Code Playgroud)