Programmation Visual Basic .NET/Conditions
Conditions
modifierListe des conditions :
If/Else/Endif
If/ElseIf/Else/Endif
Select Case/End Select
If...Else...EndIf
modifier
Soit les variables et les assertions suivantes :
Dim Entier1 as Integer = 4
Dim Entier2 as Integer = 7
MsgBox(Entier1 = 4) ' affiche True
MsgBox(Entier1 = 5) ' False
MsgBox(Entier1 > 7) ' True
MsgBox(Entier1 < Entier2) ' True
If Entier1 = 4 Then MsgBox("Entier1 n'a pas changé")
S'il y a plusieurs instructions derrière le Then
, il est obligatoire de leur allouer une ligne chacune, puis de terminer la condition par un End if
:
If Entier1 = 4 Then
Entier1 = Entier1 + 3 ' Entier1 = 7
Entier2 = Entier2 + 1 ' Entier2 = 8
End if
Si des instructions doivent s'appliquer quand la condition n'est pas vérifiée, utiliser Else
:
IF Entier1 = 4 Then
(exécute le code True)
Else
(exécute le code False)
End if
If Not Entier1 = 4 Then ' avec une clause "not"
(exécute le code True) ' si Entiers1 est différent de 4
Else
(exécute le code False) ' si Entiers1 = 4
End if
Attention à bien prioriser avec des parenthèses :
If Not Entier1 = 3 Or Entier2 = 7 Then MsgBox("Entier1 est différent de 3 et Entier2 = 7")
If Not (Entier1 = 3 Or Entier2 = 7) Then MsgBox("Entier1 est différent de 3 et Entier2 différent de 7")
If...ElseIf...Else...EndIf
modifier
If/ElseIf
permet de tester plusieurs conditions dans l'ordre séquentiel programmé. Exemple :
Dim x As Integer
Dim y As Integer
'...
If x = y Then
MsgBox("x = y")
ElseIf x < y Then
MsgBox("x < y")
Else
MsgBox("x > y")
End If
Select Case
modifier
Ce procédé permet de raccourcir la syntaxe de longues chaines If/ElseIf/.../ElseIf/Else
.
Il décrit en effet les différentes valeurs d'une variable (nombres ou chaines de caractères) :
Dim CPU as Integer
Select Case CPU
Case 0
MsgBox "Aucun processeur"
Case 1
MsgBox "Un processeur"
Case 2
MsgBox "Deux processeurs"
Case 4
MsgBox "Quatre processeurs"
Case 3, 5 To 8
MsgBox "3, 5, 6, 7, ou 8 processeurs"
Case Else
MsgBox "> 8 processeurs"
End Select
Opérateurs booléens
modifierLes opérateurs booléens en Visual Basic .NET peuvent être testés tels quels, sans fonction isTrue()
que l'on peut trouver dans d'autres langages. Par exemple :
functionA() and functionB()
Dans cette instruction le circuit court fait en sorte que la seconde fonction ne s'exécute que si la première renvoie True.
L'ordre des conditions est donc important pour optimiser la vitesse du programme.
Outre les opérateurs compatibles avec les précédentes version de Visual Basic, il existe ceux-ci :
Not
And
Or
Xor
Plus deux utilisant les circuits courts d'évaluation :
AndAlso
OrElse