В настоящее время я борюсь с примерно 5 вложенными if-утверждениями и его запутыванием, чтобы просмотреть все из них.Тернарный оператор в foreach
Так, я думал о добавлении тройных операторов вместо сослагательного наклонения для простых проверок, см
foreach (String control in controls)
{
if (!control.Equals(String.Empty))
{
// Do some stuff
foreach (Int32 someStuff in moreStuff)
{
if (!someStuff.Equals(0))
{
// More stuff with more if equals
}
}
}
Thats, как она выглядит сейчас. То моя идея о том, как сделать его немного более приятно:
foreach (String control in controls)
{
(control.Equals(String.Empty)) ? continue : null;
// Do some stuff
foreach (Int32 someStuff in moreStuff)
{
(someStuff.Equals(0)) ? continue : null;
// More stuff
}
}
Итак, вопросы: 1. это плохо программирования решить, как это и 2. он будет работать так, как я хочу?
Будет ли это даже скомпилировать? Насколько мне известно, как левое, так и правое значение ':' должно быть значением. (Тернарный оператор возвращает значение). –
Это не похоже, что тройной оператор помогает вам в читабельности и функциональности. Если вам нужно 5 lvls deep 'foreach', тогда я думаю, вам может понадобиться переосмыслить вашу функциональность. – Stefanvds
Почему бы вам не написать« if! ... continue »? Это на самом деле даже короче, чем ваш пример, это понятно, а лучшее - работает. – greenoldman