2012-01-04 45 views
3

我可以在我的项目中看到这个运算符| =在一些示例代码中使用。下面给出确切代码运算符| =在C#中的含义是什么?

DocumentRetrievalOptions docRetrievalOptions = DocumentRetrievalOptions.ByTargetJurisdiction;  
    docRetrievalOptions |= DocumentRetrievalOptions.ByUniqueId; 

其中'DocumentRetrievalOptions'是枚举类型。

这会有很大的帮助,如果有人让我知道,这是什么意思。

回答

6

这是一个Bitwise/Logical OR - 赋值运算符。 A |= B;相同A = A | B;

由于DocumentRetrievalOptionsenum,你的情况|=执行按位操作。

0

它将*按位或*运算符(|)应用于两个操作数并将结果存储在docRetrievalOptions中。

它是相同的docRetrievalOptions = docRetievalOptions | DocumentRetrievalOptions.ByUniqueId;

它解释枚举为int然后执行该操作。

1

这是一条捷径:

docRetrievalOptions = docRetrievalOptions | DocumentRetrievalOptions.ByUniqueId; 

|是按位或运算。通过这种方式,它的作用类似于+=,-=和其他这种风格的操作符。

1

通常枚举中的值用作标志,| =或“或等于”运算符只是取这些值的位表示并对它们执行按位或运算。这样你可以“启用”枚举的另一个特征或标志(在这种情况下,文档的检索选项可以是目标选举或者唯一标识)。

相关问题