El operador ternario en casi todos los idiomas funciona como una línea sentencia if:
Console.WriteLine((five == 5) ? 'true' : 'false');
(no debería ser necesario estrictamente los parens interiores, pero me gusta incluirlos para mayor claridad.)
Si t boolean evalúa como verdadero, luego toda la expresión es igual al valor entre ?
y :
. Si el valor booleano se evalúa como falso, la expresión es igual al valor después del :
.
No creo que pueda incluir líneas de código en el medio del operador. Se supone que simplemente se trata de expresiones que reemplazan toda la "frase" del operador una vez que se evalúa la condición.
Soy un chico de Java y realmente no conozco C#; tal vez es diferente. Pero probablemente no.
buena edición Jeff atwood gracias por editar mi pregunta por sus manos –