On l'appelle aussi "inline if", ou comme ci-dessus l'opérateur ternaire. https://en.wikipedia.org/wiki/%3F :
Il est utilisé pour réduire le code, bien qu'il ne soit pas recommandé d'en utiliser beaucoup sur une seule ligne car cela peut rendre la maintenance du code assez difficile. Imaginez :
a = b?c:(d?e:(f?g:h));
et vous pourriez continuer pendant un moment.
Cela revient à peu près au même que d'écrire :
if(b)
a = c;
else if(d)
a = e;
else if(f)
a = g;
else
a = h;
Dans votre cas, "string requestUri = _apiURL + "?e=" + OperationURL[0] + ((OperationURL[1] == "GET") ? GetRequestSignature() : "") ;"
On peut aussi l'écrire comme suit : (en omettant le else, puisque c'est une chaîne vide)
string requestUri = _apiURL + "?e=" + OperationURL[0];
if((OperationURL[1] == "GET")
requestUri = requestUri + GetRequestSignature();
ou comme ça :
string requestUri;
if((OperationURL[1] == "GET")
requestUri = _apiURL + "?e=" + OperationURL[0] + GetRequestSignature();
else
requestUri = _apiURL + "?e=" + OperationURL[0];
En fonction de vos préférences / du style de code que votre patron vous demande d'utiliser.