使用布尔值检查条件

时间:2013-03-06 09:07:51

标签: c#

我有查询条件的查询。

var hasListHeader = false;

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

   }
}
  1. 我能检查一下这样的情况吗?首先从reader.HasRows分配,然后检查条件?
  2. 不是这样做,而是像上面那样检查。那是好事吗?

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

2 个答案:

答案 0 :(得分:3)

你应该使用

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

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

如果您在hasListHeader语句后不需要if,那么我会将其删除并使用

if(reader.HasRows)
{
}

答案 1 :(得分:0)

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

hasListHeader = reader.HasRows

评估reader.HasRows的值,并将该值指定为hasListHeader作为副作用。

然而,这并不是一种好的风格,并且将分配移到if语句之上会被认为更清楚。

相关问题