OVH Cloud OVH Cloud

Evaluation des conditions

3 réponses
Avatar
Murlock
Bonjour,

j'aurais une question concernant l'ordre d'évaluations des conditions :

Si en VB4, j'écrivais
If Diviseur<>0 And Totor/Diviseur>5 then
Le programme se mettait en erreur car VB évaluait l'ensemble des conditions.

Maintenant avec VB.NET, est-ce que l'évaluation est, comme pour le
C/C++, paresseuse (i.e. s'arrête dès qu'un paramètre empêche l'ensemble
du test d'aboutir) ou complète (i.e. évalue l'ensemble des sous
conditions avant d'émettre un avis ?)

Cordialement;
Michaek

3 réponses

Avatar
Stéphane L.
Bonjour Michaek,

Je crois bien que vb .net sait faire x/0 donc pas d'erreur.
Je crois que le résultat est du texte genre Infini ou Non numérique.
A tester, à confirmer ou à infirmer...

Stéphane


"Murlock" a écrit dans le message de
news:40e961b4$0$18115$
Bonjour,

j'aurais une question concernant l'ordre d'évaluations des conditions :

Si en VB4, j'écrivais
If Diviseur<>0 And Totor/Diviseur>5 then
Le programme se mettait en erreur car VB évaluait l'ensemble des


conditions.

Maintenant avec VB.NET, est-ce que l'évaluation est, comme pour le
C/C++, paresseuse (i.e. s'arrête dès qu'un paramètre empêche l'ensemble
du test d'aboutir) ou complète (i.e. évalue l'ensemble des sous
conditions avant d'émettre un avis ?)

Cordialement;
Michaek


Avatar
Nicolas B.
Salut Murlock,

En VB .NET, tu as le choix entre les deux types d'évaluation.
La syntaxe avec des And (ou des Or) évalue toutes les conditions, comme
avant.
Une nouvelle syntaxe permet d'évaluer la première condition, puis la
deuxième si nécessaire :
If Diviseur<>0 AndAlso Totor/Diviseur>5 then
(pour le Or, ça devient OrElse)


A+
--
Nicolas B.


Murlock a écrit :
Bonjour,

j'aurais une question concernant l'ordre d'évaluations des conditions
:
Si en VB4, j'écrivais
If Diviseur<>0 And Totor/Diviseur>5 then
Le programme se mettait en erreur car VB évaluait l'ensemble des
conditions.
Maintenant avec VB.NET, est-ce que l'évaluation est, comme pour le
C/C++, paresseuse (i.e. s'arrête dès qu'un paramètre empêche
l'ensemble du test d'aboutir) ou complète (i.e. évalue l'ensemble des sous
conditions avant d'émettre un avis ?)

Cordialement;
Michaek


Avatar
Murlock
Nicolas B. wrote:

Salut Murlock,

En VB .NET, tu as le choix entre les deux types d'évaluation.
La syntaxe avec des And (ou des Or) évalue toutes les conditions, comme
avant.
Une nouvelle syntaxe permet d'évaluer la première condition, puis la
deuxième si nécessaire :
If Diviseur<>0 AndAlso Totor/Diviseur>5 then
(pour le Or, ça devient OrElse)


A+



Merci pour l'info