用c#做了公共类csql,方法
public bool  checkaccount(string accountid)
{
string   [ ] va= {";","'","-","+"};
if (accountid !="")
{   
try
{
foreach (string s in va)
{
if  (accountid.IndexOf(s)== -1) 
{
return  true;
}
else 
{
MessageBox.Show("输入非法字符");
return false;
}
}
}
catch( Exception)
{
return false;
}
 }
else 

return false;
}
}
}编译的时候出现并非所有的代码路径都返回值,请各位大哥帮忙看看那里写的不对,我调试个很久,还是报错

解决方案 »

  1.   

    public bool  checkaccount(string accountid)
    {
    string   [ ] va= {";","'","-","+"};
    if (accountid !="")
    {   
    try
    {
    foreach (string s in va)
    {
    if  (accountid.IndexOf(s)== -1) 
    {
    return  true;
    }
    else 
    {
    MessageBox.Show("输入非法字符");
    return false;
    }
    }
    }
    catch( Exception)
    {
    return false;
    }
     }
    else 

    return false;
    }
    }
    //加一句 return false;
    }
      

  2.   

    public bool  checkaccount(string accountid)
    {
    string   [ ] va= {";","'","-","+"};
    if (accountid !="")
    {   
    try
    {
    foreach (string s in va)
    {
    if  (accountid.IndexOf(s)== -1) 
    {
    return  true;
    }
    else 
    {
    MessageBox.Show("输入非法字符");
    return false;
    }
    }
                           //******************  加一句 return false;
    }
    catch( Exception)
    {
    return false;
    }
     }
    else 

    return false;
    }
    } }
      

  3.   

    foreach可能一次都不会运行,这个时候就会没有返回值。
      

  4.   

    2楼的,我用for 循环也是一样出现这样的问题,'foreach可能一次都不会运行,这个时候就会没有返回值'?
      

  5.   

    除了do...while循环,所有的循环都可能一次都不会运行。
      

  6.   

    不爽阿,你声明一个bool类型变量,最后返回它不就行了? return flag