78 votes

Point d'interrogation et deux points dans une déclaration. Qu'est-ce que cela signifie ?

Que font les points d'interrogation ( ? ) et deux-points ( : ) signifie ?

((OperationURL[1] == "GET") ? GetRequestSignature() : "")

Elle apparaît dans la déclaration suivante :

string requestUri = _apiURL + "?e=" + OperationURL[0] + ((OperationURL[1] == "GET") ? GetRequestSignature() : "");

0voto

mtijn Points 2036

Cela signifie que si "OperationURL[1]" est évalué à "GET", il faut retourner "GetRequestSignature()", sinon il faut retourner "". Je suppose que "GetRequestSignature()" renvoie ici une chaîne de caractères. La syntaxe CONDITION ? A : B représente essentiellement un if-else où A est renvoyé lorsque CONDITION est vrai et B est renvoyé lorsque CONDITION est faux.

0voto

Anthony Grist Points 25966

Dans le cas particulier que vous avez fourni, il s'agit d'une affectation conditionnelle. La partie située avant le point d'interrogation ( ?) est une condition booléenne, et les parties situées de part et d'autre des deux points ( :) sont les valeurs à attribuer en fonction du résultat de la condition (la partie gauche des deux points est la valeur pour true, la partie droite est la valeur pour false).

Prograide.com

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.

Powered by:

X