Во время игры с новыми концепциями я наткнулся на Ternary Operator
и красоту. Поиграв с ним какое-то время, я решил проверить его пределы.
Однако моя забава закончилась быстро, когда я не смог получить определенную строку кода для компиляции.
int a = 5;
int b = 10;
a == b ? doThis() : doThat()
private void doThis()
{
MessageBox.Show("Did this");
}
private void doThat()
{
MessageBox.Show("Did that");
}
Эта строка дает мне две ошибки:
Error 1 Only assignment, call, increment, decrement, and new object expressions can be used as a statement
Error 2 Type of conditional expression cannot be determined because there is no implicit conversion between 'void' and 'void'
Я никогда не использовал Ternary Operator
, чтобы решить, какой метод вызывать, и не знаю, возможно ли это. Мне просто нравится идея однострочного If Else Statement
для вызова метода.
Я провел немного исследований, и я не могу найти примеров того, кто делает это, поэтому я думаю, что могу надеяться на то, что не может обеспечить.
Если это возможно, пожалуйста, просветите меня в моих неправильных действиях, и это невозможно, есть ли другой способ?