如果我有一个char的枚举
public enum Action
{
None,
Address = 'A',
Amendment = 'C',
Normal = 'N'
}
Run Code Online (Sandbox Code Playgroud)
解析单个字符串以匹配相应的枚举char的最佳方法是什么,如果未找到则匹配None.TryParse匹配Name而不是值.
例如,如果我的字符串是"C",我想要获得Action.Amendement
提前致谢
char c = 'C'; // existent value
var action = Enum.GetValues(typeof(Action)).Cast<Action>().FirstOrDefault(a => (char)a == c);
// action = Action.Amendment
Run Code Online (Sandbox Code Playgroud)
和:
char c = 'X'; // non existent value
var action = Enum.GetValues(typeof(Action)).Cast<Action>().FirstOrDefault(a => (char)a == c);
// action = Action.None
Run Code Online (Sandbox Code Playgroud)