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

eug*_*ene 1 .net c#

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

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;
     }
}
Run Code Online (Sandbox Code Playgroud)

但是有一个问题,我尝试使用try和catch但为什么没有值返回?

Tej*_*ejs 6

try在没有枚举任何内容的情况下,您不会从块中返回任何内容dt.Rows.

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