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