循环查找匹配值的枚举的最佳方法是什么?
string match = "A";
enum Sample { A, B, C, D }
foreach(...) {
//should return Sample.A
}
答案 0 :(得分:11)
您正在寻找Enum.Parse
:
Sample e = (Sample)Enum.Parse(typeof(Sample), match);
您可以通过调用Enum.GetValues
或Enum.GetNames
来循环播放这些值。
答案 1 :(得分:0)
public Sample matchStringToSample(string match)
{
return (Sample)Enum.Parse(typeof(Sample), match);
}
您必须处理字符串匹配不是有效枚举值的情况。 <{1}}在这种情况下会抛出Enum.Parse
。
答案 2 :(得分:0)
Enum.Parse(typeof(Sample), "A");
答案 3 :(得分:0)
(Sample)Enum.Parse(typeof(Samples), "A"); //returns Sample.A