C# 4.0 “检测到无法访问的代码”
v++中的“v”带下划线,我的调试器说检测到无法访问的代码。,因为它永远不会到达代码的该部分。它将在for循环的第一次迭代中返回。记住,这是C中for循环的执行顺序:C# 4.0 “检测到无法访问的代码”,c#-4.0,C# 4.0,v++中的“v”带下划线,我的调试器说检测到无法访问的代码。,因为它永远不会到达代码的该部分。它将在for循环的第一次迭代中返回。记住,这是C中for循环的执行顺序: static int Simple() { for (int v = 211; v < 661; v++) { return v; } } 初始化 条件 如果条件为真,则返回正文 定期的加薪 因为它永远不会到达代码的那一部分。它将在for循环的第一次迭代中返回。记住,这是C中for循
static int Simple() {
for (int v = 211; v < 661; v++) {
return v;
}
}
初始化
条件
如果条件为真,则返回正文
定期的加薪
因为它永远不会到达代码的那一部分。它将在for循环的第一次迭代中返回。记住,这是C中for循环的执行顺序:
static int Simple() {
for (int v = 211; v < 661; v++) {
return v;
}
}
初始化
条件
如果条件为真,则返回正文
定期的加薪
它永远不会执行增量操作,因为在for循环的第一步之后返回v的值。它永远不会执行增量操作,因为在for循环的第一步之后返回v的值。return语句将立即退出循环,而且v++将没有机会执行。返回语句将立即退出循环,而v++将没有机会执行。您正在定义一个迭代超过450个值的for循环,但是您将在循环的第一次迭代中返回,该循环将离开函数体,因此停止for循环的执行!。其他449个值不会被迭代,因此代码无法访问。您正在定义一个for循环,该循环迭代450个值,但在循环的第一次迭代中返回,该循环离开函数体,因此停止for循环的执行!。其他449个值不会被迭代,因此代码是不可访问的。因为v在循环体执行后递增。但这说明,嘿,别再绕圈子了,走开!,所以v永远不会递增。因为v在循环体执行之后递增。但这说明,嘿,别再绕圈子了,走开!,因此,v永远不会递增。编译器会将您的循环转换为如下内容:
for (init; condition; increment) {
body;
}
编译器会将您的循环转换为如下内容:
for (init; condition; increment) {
body;
}
我想你的意思是退出而不是执行?我想你的意思是退出而不是执行?为什么会有这样的代码?它只是返回211。通常无法访问的代码意味着您的代码中存在逻辑错误。我无意中将我的问题过于简化,错误地删除了对逻辑至关重要的if条件。我仍然在学习C变体语法,直到今天还不熟悉“return”的全部含义。为什么会有这样的代码?它只是返回211。通常无法访问的代码意味着您的代码中存在逻辑错误。我无意中通过错误地删除了对逻辑至关重要的if条件而将我的问题简化了。我仍然在学习C变体语法,直到今天还不熟悉“return”的全部含义。我希望我能绿色检查所有回答的海报我希望我能检查所有回答这个问题的海报。