c# - 检测到无法访问的代码,如果语句内部为for循环则内部破坏

时间:2017-01-19 23:52:23

标签: c# for-loop break

bool AllQuestionsAnswered()
    {
        for (int i = 0; i < Convert.ToInt32(count); i++)
        {
            string _1 = "rbchoice1_" + i;
            string _2 = "rbchoice2_" + i;
            string _3 = "rbchoice3_" + i;
            string _4 = "rbchoice4_" + i;

            bool c1 = ((RadioButton)tabControl1.Controls[_1]).Checked;
            bool c2 = ((RadioButton)tabControl1.Controls[_2]).Checked;
            bool c3 = ((RadioButton)tabControl1.Controls[_3]).Checked;
            bool c4 = ((RadioButton)tabControl1.Controls[_4]).Checked;

            if (c1 == false && c2 == false && c3 == false && c4 == false)
            {
                return false;
                break;
            }
        }
        return true;
    }

我上面的代码给了我一个警告&#34;检测到无法访问的代码&#34;。我该如何解决?如果我忽略警告会没关系吗?请帮忙。

3 个答案:

答案 0 :(得分:0)

如果已达到return false;,那么AllQuestionsAnswered()将会消失,那么就不需要break;声明;删除break;,你就会好起来!

答案 1 :(得分:0)

你必须在这里注意两件事。可以在循环内部使用break来停止迭代并在循环之后的块中执行next语句。返回将使您从封闭方法中解脱出来,因​​此返回后的代码将永远不会被执行。在这里你不需要使用break,因为return会为你完成这项工作。如果您删除return false;并继续中断,则此方法将始终返回true

答案 2 :(得分:-1)

罗布在评论中说: 你有一条线返回并跟随一条断线。 休息无法到达(你刚回来)。