我需要执行按位'&'对类型uint
的值进行操作。
enum MsgType : ulong
{
Begin = 0x00000001,
}
unit number= 0x00000002;
if (number & MsgType.Begin == MsgType.Begin)
//无效
发出错误:
Operator '&' cannot be applied on operands of type 'uint' or 'bool'
如何施展它?
答案 0 :(得分:1)
它似乎是operator precedence in C#的问题,使用括号生成正确的编译器输出
,而不是:
if (number & MsgType.Begin == MsgType.Begin)
这样做:
if ((number & MsgType.Begin) == MsgType.Begin)