- ベストアンサー
VBの質問#if 0 then ってどう言う意味?
VBの質問です。 処理1 #If 0 Then 処理2 #End If 処理3 てどういう意味ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1 の方がおっしゃる通り、条件付きコンパイルです。 これは、 >処理1 >#If 0 Then >処理2 >#End If >処理3 こういうプログラムと同じです。 処理1 処理3 つまり、処理2のとこを削除してしまってもコンパイルしたプログラムは、同じなんですよ。 んで、特に、 >#If 0 Then っていうのは、処理2のとこを、 「削除したことがわかるように(履歴を残したまま)削除する」 ということで、バグ修正や仕様変更などバージョンアップで削除するときに、よくやる慣習みたいなもんです。 C言語などでもよく同様のことをやります。 #Else もあるので、使いようによっては、便利です。 #ここだけの話、「万が一、修正したのが間違っていても、すぐ元に戻せるよ~ん」という感じで、なんだか男らしくなくて私は嫌いなんですが・・・ #ちなみに、私の周辺では、バックアップもとらずに、要らない(と思われる)ソースファイルを一気に削除する「男の子ごっこ」がはやってます。(アホですね)
その他の回答 (2)
- shogenji
- ベストアンサー率31% (31/98)
質問の例の場合だと, 処理1と処理3はコンパイルされ,処理2はコンパイルされません. 意味としては,処理2の部分をコメントにしているのと同じです. if文はif (a > 10) Then…のように書きますが, 条件付きコンパイルの場合も同じで, #if (条件式) Then…#else…#endifのように書きます. if文では,0の場合を偽,0以外の場合を真としているため, 処理2の場合は条件式が0となっているので,常にコンパイルされません.
お礼
コメントありがとうございました
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 #Ifの文は、条件付きコンパイル用のステートメントです。 詳細はヘルプで、 「#If」、「条件付きコンパイル」 を検索すると説明があります。 では。
お礼
早々のコメント有難うございました
補足
真中の処理をコメントにするという意味みたいです
お礼
詳細なコメントありがとう