Enum ?该如何处理
Enum ?是地。两者等同[解决办法]http://msdn.microsoft.com/zh-cn/library/system.enum.hasflag.aspx位与位
Enum ?
是地。两者等同
[解决办法]http://msdn.microsoft.com/zh-cn/library/system.enum.hasflag.aspx
位与位或的应用,以前没注意到[Flags]的写法,都是自己手写的位运算判断,学习了;
DinnerItems myOrderA = DinnerItems.Appetizer
[解决办法] DinnerItems.Entree
[解决办法] DinnerItems.Beverage
[解决办法] DinnerItems.Dessert=二进制1111
DinnerItems myOrderB = DinnerItems.Appetizer
[解决办法] DinnerItems.Entree=二进制0011
bool a = (myOrderA & myOrderB) == myOrderB; // 1111&0011 = 0011
bool b = myOrderA.HasFlag(myOrderB);
所以HasFlag应该就是进行了的位与运算,用Reflactor看了一下,没找到真正的位运算部分,调用了系统的InternalHasFlag方法实现的,这样应该比自己再写那些位与位或效率更高吧