Comment se fait-il que C# n'ait pas d'opérateur XOR
Exemple:
true xor false = true
true xor true = false
false xor false = false
Comment se fait-il que C# n'ait pas d'opérateur XOR
Exemple:
true xor false = true
true xor true = false
false xor false = false
La question est un peu dépassée mais...
Voici comment cet opérateur devrait fonctionner :
true xor false = true
true xor true = false
false xor true = true
false xor false = false
Voici comment l'opérateur != fonctionne avec les types bool :
(true != false) // true
(true != true) // false
(false != true) // true
(false != false) // false
Ainsi, comme vous le voyez, les ^^
inexistants peuvent être remplacés par les !=
Il y a l'opérateur XOR logique : ^
Documentation : opérateurs C# et opérateur ^
Comme demandé par Mark L , voici la version correcte :
Func<bool, bool, bool> XOR = (X,Y) => ((!X) && Y) || (X && (!Y));
Voici la table de vérité :
X | Y | Result
==============
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0
Référence: OU exclusif
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.