0

我有以下方法:

  char getChar(int I)
  {
    if (I<65+26) return (char)(I);

    switch (I)
    {
      case 91 : return '?';break;
      case 92 : return '#';break;
      default : return ' ';
    }
  }

为什么会出现“无法访问的语句”错误?

4

2 回答 2

5

因为你不能break在你已经returned 之后。return意思是“退出方法”。break意思是“退出区块”。

因此,如果您有:

return '?'; break;

那么break永远无法到达。

于 2015-05-24T22:44:29.747 回答
2

您可能不需要 abreak之后的语句return,因为控制已经通过以下方式离开了结构(甚至整个方法)return

switch (I)
{
  case 91 : return '?';
  case 92 : return '#';
  default : return ' ';
}

a 之后的任何东西return都永远无法实现。

于 2015-05-24T22:44:40.730 回答