Обыгрывая новые концепции, я наткнулся на Тернарный оператор
, и он прекрасен. Поиграв с ним некоторое время, я решил проверить его пределы.
Однако мое веселье быстро закончилось, когда я не смог скомпилировать определенную строку кода.
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'
Я никогда не использовал тернарный оператор
, чтобы решить, какой метод вызвать, и я не знаю, возможно ли это вообще. Мне просто нравится идея однострочного оператора If Else
для вызова метода.
Я провел небольшое исследование и не могу найти никаких примеров того, чтобы кто-либо делал это, поэтому я думаю, что могу надеясь на то, чего не может обеспечить.
Если это возможно, пожалуйста, просветите меня в моих неправильных поступках, и это невозможно, есть ли другой способ?