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 に答える