投稿日 | : 2007/04/26(Thu) 14:04 |
投稿者 | : よねKEN |
Eメール | : |
URL | : |
タイトル | : Re: If or Case どちらを使用しますか? |
> 分岐が2つの場合、IF文、若しくはCase文
> どちらをしようしますか?
例のようにTrue/FalseだけならIF文を使います。
この場合は2値以上に増える可能性がないのでSelect Caseを使うことはありません。
私の場合はSelect Case文は以下の2つの条件が揃ったときに使います。
・ある1つの変数に注目している
・現在、2種類の値しか取らないとしても、
視点によっては3種類以上とみなせる、または、3種類以上に増える可能性が想定される
例えば、性別で条件分岐する場合を考えてみましょう。
Select Case 性別
Case 男
Case 女
Case Else
Debug.Print "不具合"
End Select
単純に医学上の性別なら、このようになります。
Elseになるパターンはないので、性別に設定された値の不具合の場合です。
しかし、もしこれがアンケートの回答だとしたらどうでしょうか?
アンケートの趣旨によっては、他のケースとして、
「未回答」「不明」「その他」などが追加される可能性もあるでしょう。
(例えば、未回答→答えたくない、不明→まだ生まれていない子供、
その他→ニューハーフ、といった状況がありえます)
視点によって異なる見解がありえるということは、
仕様変更が発生する可能性があるということです。
また、性別という一つのものに着目しており、
男、女といった情報は「性別」という言葉のもとに平等な重みを持っていますので、
If文よりも適切にそのことを表現できていると思います。