Поделиться через


Оператор & (Справочник по C#)

Оператор & может функционировать как унарный или как бинарный оператор.

Заметки

Унарный оператор & возвращает адрес своего операнда (требуется небезопасный контекст).

Бинарные операторы & являются предопределенными для целых типов и bool.Для целых типов оператор & выполняет битовую операцию логического умножения операндов.Для операндов bool оператор & выполняет операцию логического умножения операндов, то есть, если один или оба оператора — true, результатом будет являться значение true.

Оператор & вычисляет оба оператора независимо от значения первого из них.Например:

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

Типы, определенные пользователем, могут вызвать перегрузку бинарного оператора & (см оператор).Операции над целыми типами обычно разрешены в перечислениях.Если бинарный оператор перегружен, соответствующий оператор присваивания (если таковой имеется), также будет явно перегружен.

Пример

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

См. также

Ссылки

Операторы C#

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#