다음을 통해 공유


&& 연산자(C# 참조)

조건부 논리 AND 연산자(&&)는 bool 피연산자의 논리 AND를 수행하지만 둘째 피연산자는 필요한 경우에만 계산합니다.

설명

아래 연산은

x && y

다음 연산에 해당하지만

x & y

x 가 false인 경우, y 값에 관계없이 AND 연산의 결과가 false이기 때문에 y를 계산하지 않는다는 점이 다릅니다. 이것을 "단락(short-circuit)" 계산이라고 합니다.

조건부 논리 AND 연산자는 오버로드할 수 없지만, 일반적인 논리 연산자와 truefalse 연산자의 오버로드가 조건부 논리 연산자의 오버로드로 간주됩니다. 이 경우 일부 제한이 있습니다.

예제

다음은 && 연산자를 사용한 식에서 첫째 피연산자만 계산하는 경우의 예입니다.

class LogicalAnd
{
    static bool Method1()
    {
        Console.WriteLine("Method1 called");
        return false;
    }

    static bool Method2()
    {
        Console.WriteLine("Method2 called");
        return true;
    }

    static void Main()
    {
        Console.WriteLine("regular AND:");
        Console.WriteLine("result is {0}", Method1() & Method2());
        Console.WriteLine("short-circuit AND:");
        Console.WriteLine("result is {0}", Method1() && Method2());
    }
}
/*
Output:
regular AND:
Method1 called
Method2 called
result is False
short-circuit AND:
Method1 called
result is False
*/

C# 언어 사양

자세한 내용은 C# 언어 사양을 참조하십시오. 이 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목

참조

C# 연산자

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조