Tout est dasn la question.
Les 2 marchent en cs... pourtant le bouquin de Troelsen ne mentionne que &&.
Version imprimable
Tout est dasn la question.
Les 2 marchent en cs... pourtant le bouquin de Troelsen ne mentionne que &&.
&& est plus utile car il utilise le court circuitage.
explication :
C# evalue A ET evalue B, puis retourne A AND B. Même si A = false, il evalue quand même B.Code:A & B
C# evalue A. Si A est false, il n'evalue pas B sinon il continue.Code:A && B
La différence est surtout que & est un opérateur bit à bit, tandis que && est un opérateur booléen.
Dans le cas ou A et B sont des booléens, ça ne change rien. Mais l'opérateur & peut être utilisé pour des masques de bit.
La remarque de djo.mos n'est qu'une conséquence de cet état de fait dans le cas où les variables sont de type booléen.