Non è possibile dedurre un tipo comune per il primo e il secondo operando dell'operatore 'If'
Non è possibile dedurre un tipo comune per il primo e il secondo operando dell'operatore 'If'. Uno deve avere una conversione Widening nell'altro.
L'operatore binario If
richiede che ci sia una conversione verso un tipo di dati più grande tra uno degli argomenti e l'altro. 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.
Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))
ID errore: BC33110
Fornire una conversione esplicita per uno degli operandi, se possibile nel codice:
VBConsole.WriteLine(If(first, CInt(second)))
Riscrivere il codice usando una diversa costruzione condizionale.
VBIf first IsNot Nothing Then Console.WriteLine(first) Else Console.WriteLine(second) End If
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: