Leggere in inglese

Condividi tramite


Non è possibile dedurre un tipo comune per il secondo e il terzo operando dell'operatore 'If'

Non è possibile dedurre un tipo comune per il secondo e il terzo operando dell'operatore 'If'. Uno deve avere una conversione Widening nell'altro.

Quando l'operatore If viene chiamato con tre argomenti, deve esistere una conversione verso un tipo di dati più grande tra il secondo e terzo argomento. Ad esempio, poiché non è disponibile una conversione verso un tipo di dati più grande in entrambe le direzioni tra Integer e String, il codice seguente genera questo errore.

VB
Dim divisor = 3  
' Not valid.  
' Console.WriteLine(If(divisor <> 0, number \ divisor, "Division by zero"))  

ID errore: BC33106

Per correggere l'errore

  • Fornire una conversione esplicita per uno degli operandi, se possibile nel codice.

  • Usare la costruzione di una condizione diversa, ad esempio un'istruzione If...Then...Else .

Vedi anche