いもづる オブジェクト指向

boolはbool(2)

下にbool判定のif文があります。

(1)

1|    bool xxxFileExist = true;
2|
3|    if(xxxFileExist == false){
4|        // ファイルが存在しなかった時の処理
5|    }

何も問題のない普通のプログラムで、実際よく見かけます。
この処理を日本語で書くと、「xxxFileExist は false と等しいか?」です。

もう1つ別の記述方法があります。
こちらは、「xxxFileExist は false か?」と、一段と簡素です。

(2)

1|    bool xxxFileExist = true;
2|
3|    if(!xxxFileExist){
4|        // ファイルが存在しなかった時の処理
5|    }

実行結果も全く変わりません。

それでは、(1)と(2)の頭の動きを観察してみましょう。

(1) (2)
順番 認識 思考
1 "xxxFileExist" xxxFileExist がある
2 "==" 等しい
3 "false" false...
順番 認識 思考
1 "!" 次のbool値の否定だ
2 "xxxFileExist" xxxFileExist...
⇒ xxxFileExist が false と等しいか ⇒ xxxFileExist は false か

(2)の方が無駄な思考を使う必要がありませんね。 しかもまず "!" が目に付くので比較するものはbool値であるということが事前にわかります

VB.NETの場合でも、Not Boolean値 という記述で、否定の"Not"が先に記述となります。

1|    Dim xxxFileExist As Boolean = True
2|
3|    If (Not xxxFileExist) Then
4|        ' ファイルが存在しなかった時の処理
5|    End If

記述が短的で、"!"の有無で先に次の値の肯定・否定がわかる。
boolはbool、そのまま判定しましょ。

 

webmaster@e-ioo.net