- ベストアンサー
Select Case について
いつもお世話になります。 素朴な疑問ですが、VBのSelect Case文の「Case」って 使っていい数に限りがあるのでしょうか・・・ ちなみに200個くらいCase文を使っていますが 正常に動いているみたいなのです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
200個とはまた随分とフンパツしましたね。 200個の全く異なる事象があるのでしょうか?その中には何か法則が無いですかね? 数量的には問題なくても、後々のメンテナンスやソースの可読性などを考えるとどうかと思います。 いわゆる「美しいソース」ってのは結構重要だと思いますよ。 例えば配列に対するループ処理などに置き換え可能な事は無いですかね?
その他の回答 (3)
- don_cha
- ベストアンサー率34% (139/407)
一つ訂正。 ステップは65530まで対応していますが、ファイルサイズは最大64K(65536バイト)まででした。 結論は、65530行以内で且つ65536バイト以内までの対応となります。
- don_cha
- ベストアンサー率34% (139/407)
最大は、メモリが許す限り・・・っと言いたいところですが、実際はVBのエディタの許す限りの最大65530行までです。これ以上はVB自体が「メモリが不足しています」っとメッセージを表示し受け付けてくれないと思います。 (Win2000 VB6で確認済み) shigatsuさんも書かれている通り、「美しいソース」は大変重要ですので、1ファイルで65530ステップも書くことは普通しないでしょう・・・(^^;
お礼
今、改善策を考え中です。 アドバイス、ありがとうございました。
おそらくはマシン語で Else If (に相当する記述)を書き並べているだけのはずなので、理論上はどこまでもOKのはずです。 考えうるかぎりでは、Case が多すぎてメモリリークが起きるなんてこともないはずなので、たぶん無限にいけるでしょう。 もっとも中で何やってるか分からないですけど。
お礼
ありがとうございます!参考になりました。
お礼
Case文を200個も作ったのは、メッセージを表示するためのキーを Select Caseで判断していました。 最初はメッセージの種類も少なかったのですが、だんだん多くなって きてしまって・・・ 今、改善策を考え中です。 アドバイス、ありがとうございました。