バイナリ 'If' 演算子の 1 番目と 2 番目のオペランドの共通型を推論できません
バイナリ 'If' 演算子の 1 番目と 2 番目のオペランドの共通型を推論できません。 一方が他方に対する拡大変換を持つ必要があります。
バイナリ If
演算子では、引数の 1 つともう 1 つの引数の間に拡大変換が必要です。 たとえば、 Integer
と String
の間にはどちらの方向にも拡大変換がないため、次のコードでこのエラーが発生します。
Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))
エラー ID: BC33110
このエラーを解決するには
コードで可能な場合は、オペランドの 1 つに明示的な変換を提供します。
Console.WriteLine(If(first, CInt(second)))
別の条件構造を使用して、コードを書き直します。
If first IsNot Nothing Then Console.WriteLine(first) Else Console.WriteLine(second) End If
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示