并非所有代码都返回此方法中的值
本文关键字:此方法 返回 代码 | 更新日期: 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;
}
如果数据中没有行,会发生什么情况?
那么什么会回来呢?