&&, opérateur (Référence C#)
Mise à jour : novembre 2007
L'opérateur AND conditionnel (&&) effectue une opération AND logique sur les opérandes de type bool, mais évalue uniquement le second opérande, si nécessaire.
Notes
L'opération
x && y
correspond à l'opération
x & y
à la différence près que si la valeur false est affectée à x , y n'est pas évalué (car le résultat de l'opération AND est false, quelle que soit la valeur de y). Ce concept porte le nom d'évaluation « de court-circuit ».
L'opérateur AND conditionnel ne peut pas être surchargé, mais la surcharge des opérateurs logiques normaux et des opérateurs true et false est, dans une certaine mesure, considérée également comme une surcharge des opérateurs logiques conditionnels.
Exemple
Dans cet exemple, notez que l'expression utilisant && évalue seulement le premier opérande.
class LogicalAnd
{
static bool Method1()
{
Console.WriteLine("Method1 called");
return false;
}
static bool Method2()
{
Console.WriteLine("Method2 called");
return true;
}
static void Main()
{
Console.WriteLine("regular AND:");
Console.WriteLine("result is {0}", Method1() & Method2());
Console.WriteLine("short-circuit AND:");
Console.WriteLine("result is {0}", Method1() && Method2());
}
}
/*
Output:
regular AND:
Method1 called
Method2 called
result is False
short-circuit AND:
Method1 called
result is False
*/
Spécification du langage C#
Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.
- 7.11.2 Opérateurs logiques conditionnels définis par l'utilisateur