什么是运算符`| =`? 我怎样才能在C#中实现它?

下面的C ++代码是做什么的? 更具体地说,什么是运算符|=

 long liFaultFlags = 0; for (int i = 0; i < FAULTCOUNT; i++) { if (faults[i] == true) { liFaultFlags |= (1 << i); } } return liFaultFlags; 

如何在C#中实现?

它是按位OR运算符 ,相当于

 liFaultFlags = liFaultFlags | (1< 

您可以在C#中以完全相同的方式编写该行。

运算符|=按位OR运算并将赋值转换为一个(非常类似+ =进行整数加法和赋值)。

它在C#中完全相同。