& 運算子 (C# 參考)

& 運算子可做為一元或二元運算子。

備註

一元 & 運算子會傳回運算元的位址 (需要 unsafe 的內容)。

二元 & 運算子已為整數類資料型別及 bool 預先定義其運算方式。 對於整數類資料型別,& 會針對其運算元進行邏輯位元 AND 運算。 對於 bool 運算元,& 會針對其運算元進行邏輯 AND 運算,也就是說,只有在兩個運算元皆為 true 時,結果才會是 true。

& 運算子會同時評估兩個運算子,不管第一個運算子其值為何。 例如:

int i = 0;
if (false & ++i == 1)
{
    // i is incremented, but the conditional 
    // expression evaluates to false, so 
    // this block does not execute.
}

使用者定義型別可多載二進位 & 運算子 (請參閱 operator)。 對整數類資料型別執行 (Integral Type) 的作業,通常也適用於列舉型別。 當多載二元 (Binary) 運算子時,同時隱含多載其對應的指派運算子 (若有的話)。

範例

class BitwiseAnd
{
    static void Main()
    {
        // The following two statements perform logical ANDs.
        Console.WriteLine(true & false); 
        Console.WriteLine(true & true);  

        // The following line performs a bitwise AND of F8 (1111 1000) and 
        // 3F (0011 1111). 
        //    1111 1000 
        //    0011 1111 
        //    --------- 
        //    0011 1000 or 38
        Console.WriteLine("0x{0:x}", 0xf8 & 0x3f); 
    }
}
// Output: 
// False 
// True 
// 0x38

請參閱

參考

C# 運算子

概念

C# 程式設計手冊

其他資源

C# 參考