我想知道一个枚举值是否已定义所有标志。枚举定义如下:
[Flags]
public enum ProgrammingSkills
{
None = 0,
CSharp = 1,
VBNet = 2,
Java = 4,
C = 8,
}
我无法更改枚举来定义“全部”,因为该枚举是在dll库中定义的。
当然,我可以遍历所有枚举值,但是有没有更好/更短/更智能的方法来确定枚举值是否已定义所有值?
编辑:
我希望工作代码甚至枚举发生变化。
我不知道它是否更好,但肯定会更短,如果enum
将来进行修改,它将可以使用:
bool result = Enum.GetValues(typeof(ProgrammingSkills))
.Cast<ProgrammingSkills>()
.All(enumValue.HasFlag);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句