我已经将几个字符串解析为Enum标志,但是看不到将它们合并到单个Enum位域的简洁方法.
我正在使用的方法循环遍历字符串值,然后| =枚举值到Enum对象,如下所示:
[Flags]
public enum MyEnum { None = 0, First = 1, Second = 2, Third = 4 }
...
string[] flags = { "First", "Third" };
MyEnum e = MyEnum.None;
foreach (string flag in flags)
e |= (MyEnum)Enum.Parse(typeof(MyEnum), flag, true);
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用Select方法转换为我的Enum类型,但后来我坚持了下来IEnumerable<MyEnum>.有什么建议?