在这个例子中,| =意味着什么

时间:2015-04-07 15:14:24

标签: c#

在这种情况下,下面的代码行是什么意思?

lPutMsgOptions.Options |= MQC.MQPMO_FAIL_IF_QUIESCING + MQC.MQPMO_SET_IDENTITY_CONTEXT ;

2 个答案:

答案 0 :(得分:1)

它执行按位OR运算。

这是简写:

lPutMsgOptions.Options = lPutMsgOptions.Options | MQC.MQPMO_FAIL_IF_QUIESCING + MQC.MQPMO_SET_IDENTITY_CONTEXT ;

答案 1 :(得分:1)

|是一个按位OR运算符。代码也可以写成如下:

lPutMsgOptions.Options = lPutMsgOptions.Options | (MQC.MQPMO_FAIL_IF_QUIESCING + MQC.MQPMO_SET_IDENTITY_CONTEXT) ;

它用于设置两个二进制枚举标志MQPMO_FAIL_IF_QUIESCING和MQPMO_SET_IDENTITY_CONTEXT。

例如,您可以按如下方式定义类似的枚举:

enum Days { Sat=1, Sun=2, Mon=4, Tue=8, Wed=16, Thu=32, Fri=64 };

使用二元OR运算符(|),您可以组合一周中的不同日期。