这只是说明这个现象
其实是判断字符串是否为空
private bool blnFun(string str)
{
    if (str == "")
    {
        return false;     //函数执行到这里应该结束并返回false;
    }
    //其他代码            //但是我得程序总是执行到此,为什么?
    return true;  
}

解决方案 »

  1.   

    if (str.Trim() == "")
      

  2.   

    这又有什么关系?
    何况我在给参数时已经Trim了
      

  3.   

    private bool blnFun(int i)
    {
        if (i == 0)
        {
            MessageBox.Show("0-");
            return false;     //函数执行到这里应该结束并返回false;
         }
         else
         {
             MessageBox.Show("1-");
              //其他代码            //但是我得程序总是执行到此,为什么?
             return true;
         }
      

  4.   

    private bool blnFun(int i)
    {
        if (i == 0)
        {
            MessageBox.Show("0-");
            return false;     //函数执行到这里应该结束并返回false;
         }
         else
         {
             MessageBox.Show("1-");
              //其他代码            //但是我得程序总是执行到此,为什么?
             return true;
         }
      

  5.   

    private bool blnFun(string str)
                            {                           if (str == "") 
    {
        return false;

    string[] arrStr;
    arrStr = strALB.Split(' ');
    if (arrStr.Length != 1)
    {
        return false;
    }
    arrStr = strALB.Split('.');
    if (arrStr.Length > 2)
    {
        return false;

    string strZXBF = arrStr[0];
    int intLength = strZXBF.Length - 1;   //每次 blnFun("") 这样调函数都会毫不犹豫的到这里报错?
                               return true;
                            }
      

  6.   

    其实代码执行是正确的
    你说的 “但是我得程序总是执行到此,为什么?”,是因为在调试状态时,.net的运行条总是会停留在当前方法的最后一行,只是视觉差异而已。
      

  7.   

    我输入错了,以上的strALB全部用str替换
      

  8.   

    我的笔误
    请各位阅读以上代码时 strALB 全部用 str替换
      

  9.   

    我在控制台程序下执行错误但是在Windows应用程序下可以