Поделиться через


Не удается определить общий тип второго и третьего операнда оператора "If"

Не удается определить общий тип второго и третьего операнда оператора "If". Один из них должен иметь расширяющее преобразование в другой.

Если оператор If вызывается с тремя аргументами, необходимо выполнить расширяющее преобразование для второго и третьего аргументов. Например, из-за отсутствия расширяющего преобразования в любом направлении между Integer и Stringприведенный ниже код вызывает эту ошибку.

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

Идентификатор ошибки: BC33106

Исправление ошибки

  • Выполните явное преобразование одного из операндов в коде, если это возможно.

  • Используйте другую условную конструкцию, например оператор If...Then...Else .

См. также