为什么我不能只在我的方法的嵌套体中返回而不是被迫在main方法的范围内返回?

pgh*_*ech 1 c#

为什么如果在方法上声明返回类型,则必须在该方法的范围内指定返回值?意思是,如果我的方法中有一个If/Switch,我不能指定返回"ALONE"而不是主方法体中?唯一的解决方法是将嵌套过程返回的值赋给变量并返回方法主体中的变量吗?

例:

public Int GetNum()
{
   var a = 1;
   switch(a)
   {
      case 1:
        return 1 + 5;
      default:
        return a;
   }
 return a;   //Why must I specify this return if it is going to hit my switch statement
             //and return some int.
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

如果你有default,那就没必要了.

如果你没有a default,你需要一个外部return,以防没有cases执行.