怎么根据一个值获取它在枚举里的值?
比如:publicenumcolor{绿色=1,红色=2,白色=3};但是我只有一个字符串stringstr="红色";我想获取它在枚举中的值,也就是2,怎么获取?...
比如:
public enum color{绿色=1,红色=2,白色=3};
但是我只有一个字符串 string str="红色"; 我想获取它在枚举中的值 ,也就是2,怎么获取? 展开
public enum color{绿色=1,红色=2,白色=3};
但是我只有一个字符串 string str="红色"; 我想获取它在枚举中的值 ,也就是2,怎么获取? 展开
展开全部
public enum color { red = 1, green = 2, blue = 3 };
private void Get(string str)
{
Type typ = typeof(color);
foreach (string s in Enum.GetNames(typ))
{
if (s == str)
{
MessageBox.Show(Enum.Format(typ, Enum.Parse(typ, s), "d"));
}
}
}
你也可以不要遍历
Type typ = typeof(color);
MessageBox.Show(Enum.Format(typ, Enum.Parse(typ, str), "d"));
private void Get(string str)
{
Type typ = typeof(color);
foreach (string s in Enum.GetNames(typ))
{
if (s == str)
{
MessageBox.Show(Enum.Format(typ, Enum.Parse(typ, s), "d"));
}
}
}
你也可以不要遍历
Type typ = typeof(color);
MessageBox.Show(Enum.Format(typ, Enum.Parse(typ, str), "d"));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Convert.ToInt32(color.红色) 就可以获取到他的值了,
但是你这个是有问题的,在枚举中是不能使用中文的
但是你这个是有问题的,在枚举中是不能使用中文的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int n = 0;
string str = "绿色";
if (str == color.绿色.ToString())
n = 1;
else if (str == color.红色.ToString())
n = 2;
else if (str == color.白色.ToString())
n = 3;
string str = "绿色";
if (str == color.绿色.ToString())
n = 1;
else if (str == color.红色.ToString())
n = 2;
else if (str == color.白色.ToString())
n = 3;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
swicth(color_enum){
case color_enum.绿色:
break;
}
====
我猜你是想通过一种更好玩的方式来获取它的值。 但我觉得
代码这样写会比较清晰。
case color_enum.绿色:
break;
}
====
我猜你是想通过一种更好玩的方式来获取它的值。 但我觉得
代码这样写会比较清晰。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询