Doublons possibles:
opérateur Coalesce et opérateur conditionnel dans VB.NET
Existe-t-il un équivalent VB.NET pour l'opérateur ?? de C #?
Existe-t-il un VB.NET intégré équivalent à l'opérateur de coalescence nul C #?
Oui, tant que vous utilisez VB 9 ou version ultérieure (inclus avec Visual Studio 2008).
Vous pouvez utiliser la version de l'opérateur If
surchargé pour accepter seulement deux arguments:
Dim myVar? As Integer = Nothing
Console.WriteLine(If(myVar, 7))
Plus d'informations peuvent être trouvées ici dans un article de blog de l'équipe VB.NET.
(Oui, il s'agit d'un opérateur , même s'il ressemble à une fonction. Il se compilera dans le même IL que le "bon" coalescent nul opérateur en C #.)
Exemple
Dim b As Boolean?
Console.WriteLine("{0}.", If(b, "this is expected when b is nothing"))
'output: this is expected when b is nothing.
b = False
Console.WriteLine("{0}.", If(b, "this is unexpected when b is false"))
'output: False.
b = True
Console.WriteLine("{0}.", If(b, "this is unexpected when b is true"))
'output: True.