我可以简化这个案例陈述吗?

时间:2012-05-02 06:06:09

标签: c#

我有以下内容:

switch (id.Substring(2, 2))
{
    case "00": return("14");
    case "01": return("19");
    case "02": return("19");
    case "03": return("19");
    case "1F": return("19");
    case "04": return("17");
    case "05": return("18");

}

不确定这个但有没有办法将“01”,“02”,“03”和“1F”合并为一个?

3 个答案:

答案 0 :(得分:10)

    switch (id.Substring(2, 2))
    {
        case "00": return("14");
        case "01":
        case "02":
        case "03":
        case "1F": return("19");
        case "04": return("17");
        case "05": return("18");
    }

基本上,只要您不添加任何代码(因为不支持直通),您可以对多个测试值使用相同的结果路径。

答案 1 :(得分:2)

另一种方法是创建一个字典,其中case子句(00,01等)为键,值为14,19等。

然后打开它。

答案 2 :(得分:0)

不确定这是否会为当前答案添加任何值,但与jfs一致 - 我会执行以下操作...

            var result = new Dictionary<string, string>();

            result.Add("00","14");
            result.Add("01", "14");
            result.Add("02", "14");
            result.Add("03", "14");
            result.Add("1F", "19");
            result.Add("04", "17");
            result.Add("05", "18");

            return result[id.Substring(2, 2)];