Freigeben über


Operator & (C#-Referenz)

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

Hinweise

Der unäre Operator & gibt die Adresse seines Operanden zurück (erfordert unsafe-Kontext).

Binäre Operatoren & sind für Ganzzahltypen und bool vordefiniert. Für Ganzzahltypen berechnet & das logische bitweise AND seiner Operanden. Für bool-Operanden berechnet der Operator & das logische AND seiner Operanden. Dies bedeutet, dass das Ergebnis nur true ist, wenn beide Operanden true sind.

Der Operator & wertet beide Operanden aus, unabhängig vom Wert des ersten. 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 Operator & überladen (siehe Operator). Operationen mit Ganzzahltypen sind bei der Enumeration grundsätzlich zulässig. Beim Überladen eines binären Operators wird implizit auch der zugehörige Zuweisungsoperator überladen, falls vorhanden.

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

Referenz

C#-Operatoren

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

C#-Referenz