C#中的"| ="运算符是什么?

B. *_*non 2 c# windows-ce nullreferenceexception enum-flags

在研究错误的原因时,我遇到了这行代码:

Status |= (int)states.Reading;
Run Code Online (Sandbox Code Playgroud)

C#中的"| ="运算符是什么?

因此"状态"定义如下:

public static int Status 
Run Code Online (Sandbox Code Playgroud)

...使用存取器和mutator(或"getter"和"setter"),而"states"以这种方式定义:

[Flags]
public  enum states
Run Code Online (Sandbox Code Playgroud)

Ric*_*ner 9

它是"按位逻辑OR"运算符,如此处所定义.

x |= y 相当于 x = x | y

另外,如果您想了解更多关于"|"的信息 操作员本身,你可以在这里这样做.