C# 如何检查datatable是否包含任何行

C# 如何检查datatable是否包含任何行,c#,.net,C#,.net,我试图检查datatable是否包含任何行,我使用下面的代码来执行此操作,但现在即使此GetReferralDrName()方法不返回任何值,控件仍将执行foreach循环,正确的方法是什么 DataTable dt = DBHandling.GetReferralDrName(); if (dt != null) { foreach (DataRow dr in dt.Rows) {

我试图检查datatable是否包含任何行,我使用下面的代码来执行此操作,但现在即使此
GetReferralDrName()
方法不返回任何值,控件仍将执行
foreach
循环,正确的方法是什么

DataTable dt = DBHandling.GetReferralDrName();
            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    cmbReferralDr.Items.Add(dr["LastName"].ToString() + " " + dr["FirstName"].ToString());
                } 
            }      

如果没有行,那么进入foreach步骤没有什么害处。因为当datatable中没有记录时,它会跳过这个范围。但你可以这样做:

DataTable dt = DBHandling.GetReferralDrName();
if (dt != null && dt.Rows.Count > 0)
{
    foreach (DataRow dr in dt.Rows)
    {
        cmbReferralDr.Items.Add(dr["LastName"].ToString() + " " + dr["FirstName"].ToString());
    } 
} 

我看不出有任何问题。所以请尝试检查
dt.Rows.Count

if(dt!=null)
{
  if(dt.Rows.Count>0)
  {
    //Your Other Code
  }
}