刚接触计算机语言
请问
enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };//1
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;//2
Colors myColors = Colors.Red & Colors.Blue & Colors.Yellow;//3
第2、3行是什么意思??
得到什么结果?
安位操作,可以组合多种颜色,就好像你设置控件属性时,有的属性,你可以选择多种 ,用竖线连接
属性多选,所以要分隔开的。
Colors myColors = Colors.Red & Colors.Blue & Colors.Yellow;//3
这个结果应该是0而不是3
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;//2
这个结果应该是13而不是2
对于位掩枚举(枚举的值是2的幂,1 2 4 8 16...)不同的枚举 | 的结果相当于加,&的结果是0。
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;
Colors myColors = Colors myColors & ~Colors.Red;
这样写的结果相当于
Colors myColors = Colors.Blue | Colors.Yellow;