다음을 통해 공유


IsTrue 연산자(Visual Basic)

True이 .인지 여부를 확인합니다.

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

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

IsTrue의 컴파일러 사용

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

  1. 클래스 또는 구조체에서 .로의 확대 변환 연산자 Boolean입니다.

  2. 클래스 또는 구조체에서 .로의 확대 변환 연산자 Boolean?입니다.

  3. IsTrue 클래스 또는 구조체의 연산자입니다.

  4. 축소 변환에는 Boolean? 변환이 BooleanBoolean?포함되지 않습니다.

  5. 클래스 또는 구조체에서 .로의 축소 변환 연산자 Boolean입니다.

연산자에 대한 변환을 BooleanIsTrue 정의하지 않은 경우 컴파일러는 오류를 알 수 있습니다.

비고

연산자는 IsTrue오버로드될 수 있습니다. 즉, 해당 피연산자에 해당 클래스 또는 구조체의 형식이 있을 때 클래스 또는 구조체가 해당 동작을 다시 정의할 수 있습니다. 코드에서 이러한 클래스 또는 구조체에서 이 연산자를 사용하는 경우 다시 정의된 동작을 이해해야 합니다. 자세한 내용은 운영자 프로시저를 참조하세요.

예시

다음 코드 예제에서는 및 IsTrue 연산자의 정의를 포함하는 구조체의 개요를 IsFalse 정의합니다.

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

참고하십시오