0

我有一个检查条件的查询。

var hasListHeader = false;

using(SqlDataReader reader = sql.ExecuteQueryReturnDR(query, sqlParams)) //this will return SqlDataReader
{
   if(hasListHeader = reader.HasRows)
   {

   }
}
  1. 我可以检查一下情况吗?首先分配reader.HasRows,然后检查条件?

不是这样做,而是像上面那样检查。这是好习惯吗?

hasListHeader = reader.HasRows;
if(hasListHeader)
{
}
4

2 回答 2

3

你应该使用

hasListHeader = reader.HasRows;
if(hasListHeader)
{
}

仅当您打算使用该变量hasListHeader以供以后使用时,可能使用相同的方法或代码库中的其他位置。

hasListHeader如果您在声明之后不需要if,那么我会删除它并使用

if(reader.HasRows)
{
}
于 2013-03-06T09:09:45.813 回答
0

是的,您可以像这样检查布尔值,因为赋值是一个具有右侧操作数值的表达式,所以

hasListHeader = reader.HasRows

评估的值reader.HasRows并将该值分配给hasListHeader作为副作用。

然而,这样做并不被认为是好的风格,并且将赋值移到语句上方if被认为更清晰。

于 2013-03-06T09:13:28.667 回答