Condividi tramite


Operatore IsTrue (Visual Basic)

Determina se un'espressione è True.

Non è possibile chiamare IsTrue in modo esplicito nel codice, ma il compilatore Visual Basic può utilizzare tale operatore per generare codice dalle clausole OrElse. Se si definisce una classe o una struttura, quindi si utilizza una variabile di questo tipo in una clausola OrElse, è necessario definire IsTrue su tale classe o struttura.

Il compilatore considera gli operatori IsTrue e IsFalse come coppia associata. Questo significa che, se si definisce uno degli operatori, è necessario definire anche l'altro.

Utilizzo di IsTrue da parte del compilatore

Dopo aver definito una classe o una struttura, è possibile utilizzare una variabile del tipo specificato in un'istruzione For, If, Else If o While o in una clausola When. Se si esegue questa operazione, è necessario per il compilatore un operatore che converta il tipo in un valore Boolean, in modo da consentire il test di una condizione. La ricerca di un operatore appropriato viene svolta nel seguente ordine:

  1. Un operatore di conversione verso un tipo di dati più grande dalla classe o dalla struttura in Boolean.

  2. Un operatore di conversione verso un tipo di dati più grande dalla classe o dalla struttura in Boolean?.

  3. L'operatore IsTrue sulla classe o sulla struttura.

  4. Una conversione verso un tipo di dati più piccolo a Boolean? che non comprende una conversione da Boolean a Boolean?.

  5. Un operatore di conversione verso un tipo di dati più piccolo dalla classe o dalla struttura in Boolean.

Se non sono stati definiti né una conversione in Boolean né un operatore IsTrue, verrà segnalato un errore.

Nota

L'operatore IsTrue può essere sottoposto a overload. In altri termini, una classe o una struttura può ridefinirne il comportamento quando un operando presenta il tipo di tale classe o struttura. Se il codice utilizza l'operatore su una classe o una struttura di questo tipo, è importante comprendere il comportamento ridefinito di tale operatore. Per ulteriori informazioni, vedere Routine di operatore (Visual Basic).

Esempio

Nell'esempio di codice riportato di seguito vengono definite le caratteristiche di una struttura che include le definizioni per gli operatori IsFalse e 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

Vedere anche

Attività

Procedura: definire un operatore (Visual Basic)

Riferimenti

Operatore IsFalse (Visual Basic)

Operatore OrElse (Visual Basic)