如题。比如将下列的“方式一”改写为“方式二”。
方式一:
private string GetResult(int n)
{
    switch (n)
    {
        case 1:
            return "结果一";
        case 2:
            return "结果二";
        case 3:
            return "结果三";
        default:
            return "其他";
    }
}
方式二
private string GetResult(int n)
{
    return _____;
}

解决方案 »

  1.   

    string result=n==1?"结果一":(n==2?"结果二":(n==3?"结果三":其他));
    return result;
      

  2.   

    public enum NStatus { 结果一,结果一, 结果一,其他 };
    return Enum.GetName(typeof(NStatus ), int.Parse(index));
      

  3.   

    思路确实不错! 但需要定义枚举定义,而这个定义应该没法写在“方式二 ”的下划线之内,
    private string GetResult(int n) 

        return _____; 
    }
      

  4.   

    用数组
    string[] result={"结果一","结果二", "结果三","其他"};
    return  result[index>=3?3:index];
      

  5.   

    return  new string[]{"结果一","结果二", "结果三","其他"}[index>3?3:index-1];
      

  6.   

    List<string> lst=new List<string>();
    lst.Add("");lst[i].ToString();
      

  7.   

    看看lz的要求: 一句话 解决问题 return  new string[]{"结果一","结果二", "结果三","其他"}[index>3||index<=0?3:index-1];
      

  8.   

    private string GetResult(int n)
            {
                return new String[] { "结果一", "结果二", "结果三", "其他" }[n];
            }
      

  9.   

    这个改一下即可...不过这个要求很无聊,如果是填空题...出题的人应该去面壁...
    private string GetResult(int n)
    {
           return new String[] { "结果一", "结果二", "结果三", "其他" }[n+1];
    }
      

  10.   

    如果case分支中不止一条语句,你们的方法都傻了吧?
      

  11.   


    数组有维数,case 有N 个分支都没问题 只要N有限
      

  12.   

    如果case里的n有100,就好看了。
      

  13.   

    SortedList<int,string> values = new SortedList<int, string>();
                values.Add(1, "结果一");
                values.Add(2, "结果二");private string GetResult(int n, SortedList<int,string> values )
            {
                if (values.ContainsKey(n)) { return values[n]; }
                return "其它";
            }
      

  14.   


    string result=n==1?"结果一":(n==2?"结果二":(n==3?"结果三":其他)); 
    return result;这两个也不错了。