'If' 演算子の 2 番目と 3 番目のオペランドの共通型を推論できません

更新 : 2007 年 11 月

エラー メッセージ

'If' 演算子の 2 番目と 3 番目のオペランドの共通型を推論できません。一方の型から他方の型への拡大変換が必要です。

3 つの引数を指定して If 演算子を呼び出すときには、2 番目と 3 番目の引数の間に拡大変換が存在している必要があります。たとえば、Integer と String は、どちらの方向でも拡大変換にならないので、このエラーが発生します。

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

エラー ID: BC33106

このエラーを解決するには

  • 可能であれば、いずれか 1 つのオペランドの明示的な変換をコードの中で記述します。

  • If...Then...Else ステートメントなどの別の条件構造を使用します。

参照

概念

拡大変換と縮小変換

参照

If 演算子

If...Then...Else ステートメント (Visual Basic)