VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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文よりも適切にそのことを表現できていると思います。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -