Operator & (C#-Referenz)

Der Operator & kann entweder als unärer oder als binärer Operator funktionieren.

Hinweise

Der unäre Operator & gibt die Adresse des Operanden zurück (erfordert unsicheren Kontext).

Binäre &-Operatoren sind für integrale Typen und bool vordefiniert. Für integrale Typen berechnet & die bitweise logische AND-Operation der Operanden. Für bool-Operanden berechnet & die logische AND-Operation seiner Operanden. Das bedeutet, dass das Ergebnis nur dann true ist, wenn beide Operanden true sind.

Der &-Operator wertet beide Operanden unabhängig vom Wert des ersten aus. Zum Beispiel:

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

Benutzerdefinierte Typen können den binären &-Operator überladen (weitere Informationen finden Sie unter Operator). Operationen mit Ganzzahltypen sind grundsätzlich auch für Aufzählungen (enum) zulässig. Wenn ein binärer Operator überladen ist, wird der zugehörige Zuweisungsoperator, sofern er vorhanden ist, auch implizit überladen.

Beispiel

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

Siehe auch

C#-Referenz
C#-Programmierhandbuch
C#-Operatoren