Как уже говорили другие, «правильный» ответ зависит от проблемы, которую вы решаете.Если вы можете, разбить его на более мелкие части является предпочтительным маршрутом.Что-то вроде этой модели:
object MainLoop ()
{
object result = null;
for(int y = 0; y < 100; y+=10)
{
result = SubLoop(y);
if (result != null)
{
break;
}
}
return result;
}
object SubLoop (int y)
{
object result = null;
for (int x = 0; x < 100; x += 10)
{
if(x == 56)
{
result = objectInstance;
break;
}
}
return result;
}
На мой взгляд, в разной степени уродливо иметь несколько операторов return из одной функции, использовать дополнительные флаги или ( shudder ) использовать goto's.Но иногда один из них необходим.
Редактировать: Это демонстрация использования этого метода для возврата какого-либо полезного объекта, у вас будет "Customer" или "IDataAccess" или "bool "или что-то отличное от" object "в качестве возвращаемых типов, если используется это для реального.