& Operador (referência de C#)
Operador & pode funcionar como um operador unário ou um operador binário.
Comentários
O operador unário & o operador retorna o endereço do seu operando (requer o contexto de não seguro ).
Binário & os operadores são predefinidos para os tipos integrais e bool.Para tipos integrais, & cálculos o bit a bit de lógica AND dos operandos.Para operandos de bool , & cálculos o E lógico dos operandos; isto é, o resultado é true se e somente se ambos os operandos são true.
O operador de & avalia ambos os operadores independentemente do primeiro seu valor.Por exemplo:
int i = 0;
if (false & ++i == 1)
{
// i is incremented, but the conditional
// expression evaluates to false, so
// this block does not execute.
}
Tipos definidos pelo usuário podem sobrecarregar o operador binário de &operador(consulte).Operações em tipos integrais são permitidas geralmente na enumeração.Quando um operador binário é sobrecarregado, o operador de atribuição correspondente, se houver, está sobrecarregado também implicitamente.
Exemplo
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