Voir ?: Operator on MSDN. C'est clairement expliqué là-bas.
L'opérateur conditionnel (? :) renvoie l'une des deux valeurs en fonction de la valeur d'une expression booléenne. Voici la syntaxe de l'opérateur conditionnel.
condition? first_expression: second_expression;
La condition doit être vraie ou fausse. Si la condition est vraie, first_expression est évalué et devient le résultat. Si la condition est fausse, seconde_expression est évaluée et devient le résultat. Une seule des deux expressions est évaluée. Le type de first_expression et second_expression doit être le même ou une conversion implicite doit exister d'un type à l'autre. Vous pouvez exprimer des calculs qui pourraient nécessiter une construction if-else de manière plus concise en utilisant l'opérateur conditionnel. Par exemple, le code suivant utilise d'abord une instruction if puis un opérateur conditionnel pour classer un entier comme positif ou négatif.
L'opérateur conditionnel (? :) renvoie l'une des deux valeurs en fonction de la valeur d'une expression booléenne. Voici la syntaxe de l'opérateur conditionnel.
La condition doit être vraie ou fausse. Si la condition est vraie, first_expression est évalué et devient le résultat. Si la condition est fausse, seconde_expression est évaluée et devient le résultat. Une seule des deux expressions est évaluée. Le type de first_expression et second_expression doit être le même ou une conversion implicite doit exister d'un type à l'autre. Vous pouvez exprimer des calculs qui pourraient nécessiter une construction if-else de manière plus concise en utilisant l'opérateur conditionnel. Par exemple, le code suivant utilise d'abord une instruction if puis un opérateur conditionnel pour classer un entier comme positif ou négatif.
Parce que c'est C#, pas C++. – Athari
Parce que les deux côtés doivent renvoyer une valeur du même type, vous pouvez faire ce que vous voulez avec if/else. –
'List.Add' est une méthode void, donc' myList.Add (a) 'n'est pas une expression. – Lee