需求
如何根据传递过来的字符,方便的从枚举类型中获取对应的整数值。
比如:有下面的枚举类型数据Keys
,当得到字符A
时,如何获取对应的整数值65
?
注:判断语句(if else、switch case)除外
private int getVK(string key)
{
//方法1
if(key=="A"){
return Keys.A;
}else...
//方法2
switch(...)
//方法3
}
方法1和方法2的缺点是不灵活,而且如果enum中有很多数据,则需要一个个的写。
public enum Keys
{
A = 65,
B = 66,
C = 67,
D = 68,
E = 69,
F = 70,
G = 71,
H = 72,
I = 73,
J = 74,
K = 75,
L = 76,
M = 77,
N = 78,
O = 79,
P = 80,
Q = 81,
R = 82,
S = 83,
T = 84,
U = 85,
V = 86,
W = 87,
X = 88,
Y = 89,
Z = 90
}
Enum.Parse(typeof(Keys),"A")