Operator & (C#-Referenz)& Operator (C# Reference)

Der Operator & kann entweder als unärer oder als binärer Operator funktionieren.The & operator can function as either a unary or a binary operator.

HinweiseRemarks

Der unäre Operator & gibt die Adresse des Operanden zurück (erfordert unsicheren Kontext).The unary & operator returns the address of its operand (requires unsafe context).

Binäre &-Operatoren sind für integrale Typen und bool vordefiniert.Binary & operators are predefined for the integral types and bool. Für integrale Typen berechnet & die bitweise logische AND-Operation der Operanden.For integral types, & computes the logical bitwise AND of its operands. 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.For bool operands, & computes the logical AND of its operands; that is, the result is true if and only if both its operands are true.

Der &-Operator wertet beide Operanden unabhängig vom Wert des ersten aus.The & operator evaluates both operators regardless of the first one's value. Zum Beispiel:For example:

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).User-defined types can overload the binary & operator (see operator). Operationen mit Ganzzahltypen sind grundsätzlich auch für Aufzählungen (enum) zulässig.Operations on integral types are generally allowed on enumeration. Wenn ein binärer Operator überladen ist, wird der zugehörige Zuweisungsoperator, sofern er vorhanden ist, auch implizit überladen.When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.

BeispielExample

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 auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-OperatorenC# Operators