我从输入中得到一个字符串,我想给它一个如下的索引:
例如:
string Name = "Jack"
有五种可能性:
Jack = 1,
Alice = 2,
Stiven = 3,
Alex = 4,
Katrin = 5
当我从输入中获取Name时,我想通过这个枚举类并获取它的索引
答案 0 :(得分:6)
更好地使用字典,它们的确意味着存储一个与给定对象相对应的值。
Dictionary<string, int> dict = new Dictionary<string, int>() {
{"Jack", 1 }, {"Alice", 2 }, {"Steven", 3 }, {"Alex", 4 }, {"Katrin", 5 }};
string name = "Jack";
int value = dict[name]; // returns 1
答案 1 :(得分:2)
首先声明一个枚举:
enum Names
{
Jack = 1,
Alice = 2,
Stiven = 3,
Alex = 4,
Katrin = 5
}
然后使用Enum.TryParse
获取与"Jack"
匹配的枚举,最后将myNames
转换为int以获取所需的索引:
string Name = "Jack";
Names myNames;
Enum.TryParse(Name, out myNames);
int index = (int)myNames;
答案 2 :(得分:1)
您可以按照以下方式尝试Enum.TryParse
: -
string Name="Jack";
enum CustomEnum {
Jack=1,
Alice=2,
Stiven=3,
Alex=4,
Katrin=5
}
CustomEnum TheName;
if (Enum.TryParse(Name, out TheName))
{
switch (TheName) {
case Jack: /* code here*/ break;
case Alice: /* code here*/ break;
/* and so on */
}
}
答案 3 :(得分:1)
试试这个。
using System;
public class Test {
enum Names {
Jack = 1,
Alice,
Stiven,
Alex,
Katrin
};
public static void Main() {
string Name = "Alex";
Names eName;
Enum.TryParse < Names > (Name, out eName);
Console.WriteLine((int) eName);
}
}