Compartir a través de


Operador & (Referencia de C#)

Actualización: noviembre 2007

El operador & puede funcionar como operador unario o binario.

Comentarios

El operador & unario devuelve la dirección de memoria de su operando (requiere un contexto unsafe).

Los operadores & binarios están predefinidos para los tipos integrales y bool. Para tipos integrales, & calcula la operación AND bit a bit lógica de sus operandos. Para operandos de tipo bool, & calcula la operación lógica AND de sus operandos; es decir, el resultado es true si, y sólo si ambos operandos son true.

El operador & evalúa ambos operadores sin tener en cuenta el valor del primero. Por ejemplo:

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

Los tipos definidos por el usuario pueden sobrecargar el operador binario & (vea operator (Referencia de C#)). Las operaciones en tipos integrales se suelen permitir en enumeraciones. Cuando se sobrecarga un operador binario, el operador de asignación correspondiente, si existe, también se sobrecarga de modo implícito.

Ejemplo

class BitwiseAnd
{
    static void Main()
    {
        Console.WriteLine(true & false); // logical and
        Console.WriteLine(true & true);  // logical and
        Console.WriteLine("0x{0:x}", 0xf8 & 0x3f);  // bitwise and
    }
}
/*
Output:
False
True
0x38
*/

Vea también

Conceptos

Guía de programación de C#

Referencia

Operadores de C#

Otros recursos

Referencia de C#