Bitwise AND如何与布尔值交互?

Chr*_*uer 2 c# bit-manipulation bitwise-and

我遇到了一段我无法解决的代码:

public void Connect()
{
    if (!(!string.IsNullOrEmpty(_vpnConnectionName) & !string.IsNullOrEmpty(_ipToPing)))
    {
        return;
    }

    GetConnected();
}
Run Code Online (Sandbox Code Playgroud)

我在SO和其他地方研究了单个&符号,发现它是一个按位AND操作数.然而,所有解释都围绕着整数.

我可以理解按位运算对整数的适用性,但它们如何适用于布尔值?

Eri*_*ert 8

它是bool的逻辑运算符,无论左侧的值如何,都会评估双方.