Я встречал следующий код на C #.
if(condition0) statement0;
else if(condition1) statement1;
else if(condition2) statement2;
else if(condition3) statement3;
...
else if(conditionN) statementN;
else lastStatement;
Некоторые из моих коллег говорят мне, что это утверждение else if
.Однако я убежден, что на самом деле это многослойное вложенное выражение if-else
.Я знаю, что без разделителей {}
допускается одно утверждение в if
или else
.Поэтому в этом случае я думаю, что это будет эквивалентно следующему коду.
if(condition0)
statement0;
else
if(condition1)
statement1;
else
if(condition2)
statement2;
else
if(condition3)
statement3;
else
...
Обратите внимание, что все, что я изменил, это пробел.Этот отступ работает, потому что каждый else
возвращается к самому последнему оператору if
, когда разделителей нет.
Может кто-нибудь уточнить, если формат else if
в первом примере обрабатывается компилятором иначевложенный if-else
формат во втором примере?