【问题标题】:Switch statement - "unreachable code detected"Switch 语句 - “检测到无法访问的代码”
【发布时间】:2015-01-04 15:56:14
【问题描述】:

Visual Studio 给我这个错误消息:“检测到无法访问的代码”。谁能告诉我我的代码有什么问题?:

string commandWord = command.CommandWord;   //--> here I get the error message

switch (commandWord) 

(

case "help":

printHelp();

break;



case "go":

goRoom (command);

break; 

case "pick":

pickUp (command);

break; 

)

【问题讨论】:

  • 在 switch case 之后应该是 { code } 。把你的代码放在花括号里。

标签: string switch-statement


【解决方案1】:

你有一个错字:括号是错误的,应该是花括号- {}

switch (commandWord)

{

case "help":

printHelp();

break;

case "go":

goRoom (command);

break;

case "pick":

pickUp (command);

break;

}

【讨论】:

    【解决方案2】:

    1) 改变 一种可能:

    string commandWord = command.CommandWord;
    

    到

    string commandWord = command.CommandWord();
    

    或者你可能需要包含保护子句:像这样:

    string commandWord = command.CommandWord;
    #pragma warning disable 0162
    switch (commandWord)
    {
        case "help":
            printHelp();
        break;
        case "go":
            goRoom (command);
        break;
        case "pick":
            pickUp (command);
        break;
    }
    #pragma warning restore 0162
    

    2) 将括号更改为大括号,如下所示:

    switch (commandWord)
    **{**
        case "help":
            printHelp();
        break;
        case "go":
            goRoom (command);
        break;
        case "pick":
            pickUp (command);
        break;
    **}**
    

    在 MAC 上,你有花括号:

    • 对于 { 使用以下组合:

    Alt + (

    • 对于 },请使用以下组合:

    Alt +)

    【讨论】:

    • 是的,我知道大括号。我无法在我的朋友 mac 上找到它们 :) 但它仍然无法正常工作:(
    • 如果您使用 C# 编程,我建议您阅读以下内容:dotnetperls.com/unreachable
    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多