Итак, для начала я видел подобные сообщения:Как узнать, какое условие истинно, не используя оператор if
Это не совсем то, что мне нужно, хотя идея актуальна, в том смысле, что хотелось бы, чтобы это был более читаемый код.
Я думаю, что Switch — лучший выбор, но позвольте мне объяснить.
У меня есть это заявление:
if (input == string.Empty || typeComboBox.Text == null)
{
MessageBox.Show("Nothing to encrypt!", "Nothing Selected!");
return null;
}
Итак, идея здесь в том, что раньше я разбивал этот оператор на два оператора «IF», что не так уж и сложно, но ради удобочитаемости и моих постоянных усилий по сокращению кода я хотел объединить операторы в один..
Если ввод пуст, я хочу, чтобы первый аргумент в MessageBox.Show отображался, но не второй.
Если typeComboBox.Text имеет значение null, я хочу, чтобы отображался второй вариант, но не первый.
Если они оба являются истинными утверждениями, я хочу, чтобы оба появились.
Теперь моя цель состояла в том, чтобы сделать это без использования более одного теста или метода. По сути, я имею в виду это :, если я могу найти, какое условие истинно, и вывести результирующие данные в одном и том же операторе, это было бы идеально.
Я вижу, что коммутаторы являются вариантом, и я пока не очень хорошо в них разбираюсь, но я думаю, что это потребует от меня принятия решения на основе результатов этого теста и отправки этого результата на коммутатор; что было бы не идеально, так как я мог бы просто иметь два оператора if и меньше кода.
Есть ли способ сделать это в одном выражении? Это не обязательно для этой конкретной программы, но я хочу знать на будущее.
Спасибо!