这不能编译,给出一个unreachable statement
错误:
while(true)
{
}
return null;
尽管我们知道它与上面的代码段等效,但它没有任何编译问题:
while(true)
{
if(4>5)
break;
}
return null;
编译器是否只是在搜索break语句,并认为循环可以终止,所以不必担心吗?
答案 0 :(得分:-1)
编译器不评估条件语句中的表达式。即使您写:
while (true) {
if (false) {
break;
}
}
它不会被检测为无限循环。