7 réponses

Shawn

Celui de gauche, puis s'arrête s'il est nul.

Modifier : dans vb.net, il évaluera les deux et générera éventuellement une erreur, sauf si vous utilisez AndAlso

请先 登录 后评论
ZombieSheep

C

请先 登录 后评论
GateKiller

J'ai entendu dire quelque part que les compilateurs fonctionnent à l'envers, mais je ne sais pas si c'est vrai.

请先 登录 后评论
csmba

vb.net

if( x isNot Nothing AndAlso x.go()) then
  1. L'évaluation se fait de gauche à droite
  2. L'opérateur
  3. AndAlso s'assure que seulement si le côté gauche était TRUE, le côté droit sera évalué (très important, puisque ifx n'est rien x.go plantera)

Vous pouvez utiliser And au lieu deAndAlso dans vb. auquel cas le côté gauche est également évalué en premier, mais le côté droit sera évalué quel que soit le résultat.

Bonne pratique : utilisez toujours AndAlso, sauf si vous avez une très bonne raison de ne pas le faire.

Il a été demandé dans un suivi pourquoi ou quand quelqu'un utiliserait And au lieu de AndAlso (ou

请先 登录 后评论
shsteimer

Le concept auquel la modestie fait référence est la surcharge de l'opérateur. dans la déclaration :

if( A && B){
    // do something
}

A est évalué en premier, s'il est évalué à faux, B n'est jamais évalué. Il en va de même pour

if(A || B){
    //do something
}

A est évalué en premier, s'il est évalué comme vrai, B n'est jamais évalué.

Ce concept, la surcharge, s'applique (je pense) à tous les langages de style C, et à bien d'autres également.

请先 登录 后评论
Lasse Vågsæther Karlsen

Notez qu'il existe une différence entre

请先 登录 后评论
Vaibhav

Non, au moins le C

请先 登录 后评论
  • 4 abonnés
  • 0 favoris,607 Feuilleter
  • Seibar posée à 2023-03-22 16:26