public string a()
{
    if ()
       {
           ······ 
            return 一个字符串
       }
     else
      {
              ·····
              这里不返回字符串
       }
}有什么方法解决吗???

解决方案 »

  1.   

    除了使用Void关键字标记的方法可以没有返回值外其他方法必须有返回值你这情况可以用ref关键字来解决:
    string message = "";
    public void a(ref message)
    {
        if ()
           {
               ······ 
                message = 一个字符串
           }
         else
          {
                  ·····
                  这里不返回字符串
           }
    }
      

  2.   

    肯定要返回字符串的。。因为你的返回值已经写明是string型了。。
    你可以返回一个空值,或其他特殊值。。
    在调用这个方法时,就清楚是执行了if后的语句还是else的语句。。
      

  3.   

    public string a()
    {
        if ()
           {
               ······ 
                return 一个字符串
           }
         else
          {
                  ·····
                  这里不返回字符串
                  //throw new Exception();       }
    }
      

  4.   

    不建议抛出异常.可以返回 return "";
      

  5.   

    你可以在外面定义一个变量比如
    private message = "";
    public void a()
    {
        if ()
           {
               ······ 
                message = "111";
           }
         else
          {
                  ·····
                  //这里不返回字符串
           }
    }
    调用之后得到message的值
      

  6.   


    public string a(ref message)
    {
    string message = "";
    try
    {
    }
    catch(Exception)
    {
    }
    return r;
    }
      

  7.   

    返回值是有好处的,可以帮助你判断处理中产生的状态。
    public string rstr(string instr)
    {
       string rtu="";
       if (true)
       {
         rtu="真";
       }
       else
       {
       }
       return rtu;
    }如果返回空,说明走的是else分支。
      

  8.   


    public string a()
    {
           string message = "";
        if ()
           {
               ······ 
                message = "111";
           }
         else
          {
                  ·····
                  //这里不返回字符串
           }
        return message;
    }这样不错!