Testing a [Flags] enum value for a single value

心已入冬 提交于 2019-12-03 07:02:18

You can cast it to int and use the techniques from Bit Twiddling Hacks to check if it's a power of two.

int v = (int)enumValue;
return v != 0 && (v & (v - 1)) == 0;

You can use a combination of IsDefined and checking for powers of 2.

You could you Enum.GetValues and count only those items that are a power of 2 (evenly divisible by 2 with no remainder).

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!