Я знаю, это было уже ответил, но я решил бросить в моих 2 центах, так как никто не считал абстрагирование чека отдельного метода:
void()
{
if (ShouldDoStuff(myCollection))
DoStuff(myCollection);
else
DoOtherStuff(myCollection);
}
private bool ShouldDoStuff(collection)
{
foreach()
{
if()
return true;
}
return false;
}
Это обеспечивает гораздо более чистый код на более высокий уровень для работы с вашими алгоритмами и устраняет все обсуждаемые беспорядки. Он четко отделяет задачи от проверки и выполнения действий, и читатели мгновенно знают, что именно происходит в потоке программы, без необходимости различать то, что они делают, с логической логикой или логикой разрыва, скрывающейся. Ни один метод не имеет более одной ответственности или задачи.
Да, возможно, плакат хочет сделать другую работу в своем foreach, но это совершенно другая дискуссия, а не то, что было описано в их вопросе. Если вы просто хотите проверить, удовлетворяет ли данная коллекция (или объект) определенное условие, эта проверка может быть перенесена на отдельный метод. Даже оставляет дверь открытой для автоматических модульных испытаний для всех трех компонентов.
Даже если DoStuff
и DoOtherStuff
не были отнесены к их собственным методам, они обеспечивают лучшую читаемость и логический поток.
продолжение ключевое слово приходит на помощь. вы можете использовать «Break», если хотите выйти из цикла for. – AlwaysAProgrammer
Слишком много вашего вопроса неоднозначно. Комментарий Yogendra может быть ответом в зависимости от того, что вы имеете в виду – McAden
, вам нужно объявить bool in if statement block и использовать его в области, где вы хотите пропустить –