다음을 통해 공유


IsTrue 연산자

업데이트: 2007년 11월

식이 True인지 확인합니다.

사용자 코드에서는 IsTrue를 명시적으로 호출할 수 없지만 Visual Basic 컴파일러는 이 연산자를 사용하여 OrElse 절에서 코드를 생성할 수 있습니다. 클래스나 구조체를 정의한 다음 OrElse 절에서 해당 형식의 변수를 사용하는 경우 해당 클래스나 구조체에 대해 IsTrue를 정의해야 합니다.

컴파일러는 IsTrue와 IsFalse 연산자를 일치하는 쌍으로 간주합니다. 즉, 둘 중 하나를 정의할 경우 다른 하나도 정의해야 합니다.

컴파일러의 IsTrue 사용

클래스나 구조체를 정의한 경우 For, If, ElseIf 또는 While 문이나 When 절에서 해당 형식의 변수를 사용할 수 있습니다. 이렇게 하면 컴파일러에서 조건을 테스트할 수 있도록 해당 형식을 Boolean 값으로 변환하는 연산자가 필요합니다. 다음과 같은 순서로 적합한 연산자가 검색됩니다.

  1. 클래스나 구조체를 Boolean으로 확대 변환하는 연산자

  2. 클래스나 구조체에 대한 IsTrue 연산자

  3. 클래스나 구조체를 Boolean으로 축소 변환하는 연산자

Boolean 형식으로의 변환이나 IsTrue 연산자를 정의하지 않았으면 컴파일러에서 오류가 표시됩니다.

참고:

IsTrue 연산자는 필요에 따라 오버로드할 수 있습니다. 즉, 피연산자의 형식이 특정 클래스 또는 구조체인 경우 해당 클래스나 구조체에서 이 연산자의 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스나 구조체에 대해 이 연산자를 사용할 때는 다시 정의된 동작을 알고 있어야 합니다. 자세한 내용은 연산자 프로시저를 참조하십시오.

예제

다음 코드 예제에서는 IsFalse와 IsTrue 연산자에 대한 정의를 포함하는 구조체의 윤곽을 정의합니다.

Public Structure p
    Dim a As Double
    Public Shared Operator IsFalse(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsFalse of w.
        Return b
    End Operator
    Public Shared Operator IsTrue(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsTrue of w.
        Return b
    End Operator
End Structure

참고 항목

작업

방법: 연산자 정의

참조

IsFalse 연산자

OrElse 연산자