Кроме того, поскольку третичный оператор по сути является оператором , маскирующимся под выражение, вы можете принять это:
x = (y == true) ? "foo" : "bar";
string instructions = "Please can somebody go and get me a " + x;
и преобразовать его в это:
string instructions = "Please can somebody go and get me a " +
((y == true) ? "foo" : "bar");
Обратите внимание, что требуются дополнительные скобки. Попробуйте сами скомпилировать, если не понимаете почему!
Это очень полезная функция, и я использую ее постоянно. Просто будьте осторожны, поскольку другие уже упоминали, что не пишите выражения с побочными эффектами или слишком сложные выражения, которые снижают читабельность.
В слегка не связанной записке, пожалуйста, ради бога, никогда не пишите такой код (я видел это много раз):
if (y == true) {
weWantAFoo = true;
}
else {
weWantAFoo = false;
}
Вместо этого вы должны сделать это:
bool weWantAFoo = (y==true);
Это просто еще один пример использования условного оператора где-то, кроме оператора if
.