并非所有代码都返回此方法中的值

本文关键字:此方法 返回 代码 | 更新日期: 2023-09-27 18:33:07

这是我用来检查数据表中是否有标题匹配的方法:

public static bool checkBook(DataTable dt, String title)
{
    try
    {
        foreach (DataRow dr in dt.Rows)
        {
            String checktitle = dr["Title"].ToString();
            if (title == checktitle)
                return true;
            else
                return false;
    }
    catch (Exception ex)
    {
        //do something
        return false;
     }
}

但是有一个问题,我尝试使用尝试和捕获,但为什么没有价值回报?

并非所有代码都返回此方法中的值

未从dt.Rows枚举任何内容的情况下,您不会从try块返回任何内容。

在 try 块的 foreach 之外,您只需添加return false;

存在

错误,因为如果数据表中没有行,则不会返回表单代码,因此您需要像下面的代码一样return false

为您优化代码:

    public static bool checkBook(DataTable dt, String title)
    {
      bool returnval= false;
      try 
      {
         foreach (DataRow dr in dt.Rows)
            {
                String checktitle = dr["Title"].ToString();
                if (title == checktitle)
                {
                    returnval= true;
                }
        }
    catch (Exception ex)
    {
     //do something
    }
    return returnval;
   }

如果数据中没有行,会发生什么情况?
那么什么会回来呢?