İngilizce dilinde oku

Aracılığıyla paylaş


İkili 'If' işlecinin birinci ve ikinci işlenenleri için ortak bir tür çıkarılamıyor

İkili 'If' işlecinin birinci ve ikinci işlenenleri için ortak bir tür çıkarılamaz. Birinin bir genişletme dönüştürmesi diğerine sahip olması gerekir.

İkili If işleç, bağımsız değişkenlerden biri ile diğer bağımsız değişken arasında bir genişletme dönüştürmesi olmasını gerektirir. Örneğin, ile Stringarasında Integer iki yönde de genişletme dönüştürmesi olmadığından aşağıdaki kod bu hataya neden olur.

Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))

Hata Kimliği: BC33110

Bu hatayı düzeltmek için

  • Kodunuzda mümkünse işlenenlerden biri için açık bir dönüştürme sağlayın:

    Console.WriteLine(If(first, CInt(second)))
    
  • Farklı bir koşullu yapı kullanarak kodu yeniden yazın.

    If first IsNot Nothing Then
        Console.WriteLine(first)
    Else
        Console.WriteLine(second)
    End If
    

Ayrıca bkz.