static int Simple() {
for (int v = 211; v < 661; v++) {
return v;
}
}
v ++中的'v'带有下划线,我的调试器表示检测到无法访问的代码。
答案 0 :(得分:5)
因为它永远不会到达代码的那一部分。它将在for
循环的第一次迭代时返回。请记住,这是在C#中执行for循环的顺序:
for (init; condition; increment) {
body;
}
答案 1 :(得分:4)
return语句将立即退出循环,v ++将无法执行。
答案 2 :(得分:2)
它永远无法进行增量,因为您在v
循环的第一步之后返回for
的值。
答案 3 :(得分:2)
你正在定义一个迭代超过450个值的for循环,但是你在循环的第一次迭代中返回(离开函数体,因此停止执行for循环!)。其他449个值将不会被迭代,因此代码无法访问。
答案 4 :(得分:2)
因为v
在执行循环体后递增。但这告诉“嘿,不要再循环,离开!”,所以v
永远不会增加。
答案 5 :(得分:2)
编译器会将您的循环转换为:
int v = 211;
loop:
if (v < 661)
{
return v;
} else {
v++;
goto loop;
}