Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein If
-Ausdruck kann zwei oder drei Argumente annehmen. Wenn Sie nur zwei Argumente senden, muss das erste Argument ein Verweistyp oder ein auf NULL festlegbarer Werttyp sein. Wenn das erste Argument als ein anderer Wert als Nothing
ausgewertet wird, wird sein Wert zurückgegeben. Wird das erste Argument als Nothing
ausgewertet, wird der Wert des zweiten Arguments zurückgegeben.
Der folgende Code enthält beispielsweise zwei If
-Ausdrücke – einen mit drei Argumenten und einen mit zwei Argumenten. Die Ausdrücke berechnen und geben den gleichen Wert zurück.
' firstChoice is a nullable value type.
Dim firstChoice? As Integer = Nothing
Dim secondChoice As Integer = 1128
' If expression with three arguments.
Console.WriteLine(If(firstChoice IsNot Nothing, firstChoice, secondChoice))
' If expression with two arguments.
Console.WriteLine(If(firstChoice, secondChoice))
Die folgenden Ausdrücke verursachen diesen Fehler:
Dim choice1 = 4
Dim choice2 = 5
Dim booleanVar = True
' Not valid.
'Console.WriteLine(If(choice1 < choice2, 1))
' Not valid.
'Console.WriteLine(If(booleanVar, "Test returns True."))
Fehler-ID: BC33107
So beheben Sie diesen Fehler
- Wenn Sie den Code nicht so ändern können, dass das erste Argument ein auf NULL festlegbarer-Werttyp oder Verweistyp ist, ziehen Sie eine Konvertierung in einen
If
-Ausdruck mit drei Argumenten oder in eineIf...Then...Else
-Anweisung in Betracht.
Console.WriteLine(If(choice1 < choice2, 1, 2))
Console.WriteLine(If(booleanVar, "Test returns True.", "Test returns False."))