¿Cuál es el operador `| =`? ¿Cómo puedo implementar esto en C #?

¿Qué está haciendo el siguiente código C ++? Más específicamente, ¿cuál es el operador|=?

long liFaultFlags = 0;

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

return liFaultFlags;

¿Cómo se implementaría esto en C #?

Respuestas a la pregunta(2)

Su respuesta a la pregunta