switch case语句中的返回值

时间:2019-05-07 21:57:04

标签: c# switch-statement return

我正在编写一个函数。我在其中使用开关盒,但收到此错误: 并非所有代码路径都返回值。

我不知道哪里出了问题,因为我在此站点中看到了它的示例。

public double Alpha_Const(int Perf_Phase)
    {
        switch (Perf_Phase)
        {
            case 0:
                return 0.25;
            case 45:
                return 0.86;
            case 60:
                return 0.813;
            case 90:
                return 0.726; 
            case 120:
                return 0.648;
            case 180:
                return 0.5;
        }
    }

1 个答案:

答案 0 :(得分:1)

您需要添加一个默认分支,以防其他情况都不匹配。

public double Alpha_Const(int Perf_Phase)
{
    switch (Perf_Phase)
    {
        case 0:
            return 0.25;
        case 45:
            return 0.86;
        case 60:
            return 0.813;
        case 90:
            return 0.726; 
        case 120:
            return 0.648;
        case 180:
            return 0.5;
        default:
            return 0; // or whatever you want
    }
}

您还可以引发异常,表明输入不正确。

...
        default:
            throw new ArgumentException($"{ Perf_Phase } is not a valid value for argument Perf_Phase.");
...