我有查询条件的查询。
var hasListHeader = false;
using(SqlDataReader reader = sql.ExecuteQueryReturnDR(query, sqlParams)) //this will return SqlDataReader
{
if(hasListHeader = reader.HasRows)
{
}
}
reader.HasRows
分配,然后检查条件?不是这样做,而是像上面那样检查。那是好事吗?
hasListHeader = reader.HasRows;
if(hasListHeader)
{
}
答案 0 :(得分:3)
你应该使用
hasListHeader = reader.HasRows;
if(hasListHeader)
{
}
仅当您打算使用变量hasListHeader
供以后使用时,可能使用相同的方法或代码库中的其他地方。
如果您在hasListHeader
语句后不需要if
,那么我会将其删除并使用
if(reader.HasRows)
{
}
答案 1 :(得分:0)
是的,您可以像这样检查布尔值,因为赋值是一个具有右侧操作数值的表达式,所以
hasListHeader = reader.HasRows
评估reader.HasRows
的值,并将该值指定为hasListHeader
作为副作用。
然而,这并不是一种好的风格,并且将分配移到if
语句之上会被认为更清楚。