У меня есть оператор if внутри оператора if.leave if statement
Если условие во втором операторе if возвращает false, я хочу перейти к первому другому , потому что он автоматически устанавливает мои проверки.
Я надеюсь, вы понимаете
if (page.isvalid())
{
if (datetime.tryparse (date) == true)
{
// ok
}
else
{
//go to the other else
}
}
else
{
// want to go here
}
Edit:
Важно то, что я должен сначала проверить страницу, так как после проверки, я знаю, что могу разобрать DateTimes из 2 входных контроля и проверки если вторая больше первой. В противном случае это исключает, может быть, если дата недействительна.
это работает с мало приспосабливается. hmm кажется не таким уж правильным, но ... никаких других полных решений –
что вы подразумеваете под «правильным»? это базовое управление потоком. Помните, что на языках .NET языковые методы неявно возвращаются, когда выполняется последний '}'. Выход из метода в любой точке полностью действителен. В зависимости от вашего контекста вам может потребоваться перевернуть логику, чтобы сказать 'if (! Page.IsValid) {/ * недопустимый кодовый блок * /} else {/ * действительный код * /}'. Другим вариантом было бы рефакторинг кода «valid» и «invalid» в методы и сказать «if (Page.IsValid()) {ValidMethod():} else {InValidMethod();}' –