• ベストアンサー

Select Case について

いつもお世話になります。 素朴な疑問ですが、VBのSelect Case文の「Case」って 使っていい数に限りがあるのでしょうか・・・ ちなみに200個くらいCase文を使っていますが 正常に動いているみたいなのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.2

200個とはまた随分とフンパツしましたね。 200個の全く異なる事象があるのでしょうか?その中には何か法則が無いですかね? 数量的には問題なくても、後々のメンテナンスやソースの可読性などを考えるとどうかと思います。 いわゆる「美しいソース」ってのは結構重要だと思いますよ。 例えば配列に対するループ処理などに置き換え可能な事は無いですかね?

vicky3
質問者

お礼

Case文を200個も作ったのは、メッセージを表示するためのキーを Select Caseで判断していました。 最初はメッセージの種類も少なかったのですが、だんだん多くなって きてしまって・・・ 今、改善策を考え中です。 アドバイス、ありがとうございました。

その他の回答 (3)

  • don_cha
  • ベストアンサー率34% (139/407)
回答No.4

一つ訂正。 ステップは65530まで対応していますが、ファイルサイズは最大64K(65536バイト)まででした。 結論は、65530行以内で且つ65536バイト以内までの対応となります。

  • don_cha
  • ベストアンサー率34% (139/407)
回答No.3

最大は、メモリが許す限り・・・っと言いたいところですが、実際はVBのエディタの許す限りの最大65530行までです。これ以上はVB自体が「メモリが不足しています」っとメッセージを表示し受け付けてくれないと思います。 (Win2000 VB6で確認済み) shigatsuさんも書かれている通り、「美しいソース」は大変重要ですので、1ファイルで65530ステップも書くことは普通しないでしょう・・・(^^;

vicky3
質問者

お礼

今、改善策を考え中です。 アドバイス、ありがとうございました。

noname#25358
noname#25358
回答No.1

 おそらくはマシン語で Else If (に相当する記述)を書き並べているだけのはずなので、理論上はどこまでもOKのはずです。  考えうるかぎりでは、Case が多すぎてメモリリークが起きるなんてこともないはずなので、たぶん無限にいけるでしょう。  もっとも中で何やってるか分からないですけど。

vicky3
質問者

お礼

ありがとうございます!参考になりました。