다음을 통해 공유


& 연산자(C# 참조)

& 연산자는 단항 연산자로 사용하거나 이항 연산자로 사용할 수 있습니다.

설명

단항 & 연산자는 피연산자의 주소를 반환합니다(unsafe 컨텍스트 필요).

이항 & 연산자는 정수 계열 형식과 bool에 대해 미리 정의되어 있습니다. 정수 계열 형식의 경우 & 연산자는 피연산자의 비트 논리 AND를 계산합니다. bool 피연산자의 경우 & 연산자는 피연산자에 대한 논리 AND를 계산합니다. 즉, 두 피연산자가 모두 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.
}

사용자 정의 형식으로 이항 & 연산자를 오버로드할 수 있습니다(operator 참조). 정수 계열 형식에 대한 연산은 일반적으로 열거형에서 허용됩니다. 이항 연산자가 오버로드되면 해당 대입 연산자도 암시적으로 오버로드됩니다.

예제

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# 참조