アプリ版:「スタンプのみでお礼する」機能のリリースについて

select case a
case "1" and "2"
   処理
case "3"
   処理
end select

という記述が出来るのですが、case "1" and "2" という記述は
変数a の値がどうなったとき条件をみたすのでしょうか?

初心者でして小も無い質問かもしれませんがよろしくお願いいたします。

A 回答 (1件)

VB6は文字列と数値の扱いが非常に曖昧で


Stringの"1"がIntegerの1に勝手に自動変換されます
Stringの"2"がIntegerの2に勝手に自動変換されます
よって

Case "1" and "2"

Case 1 and 2
であり,わかりやすく括弧を使うと
Case (1 and 2)
となります

ビット演算が行われて
http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83% …
Case 0
と同等になります。

ちなみにVB.NETではOption Strict Onを使うと
自動変換が行われるコードはそもそもコンパイルできなくなります(推奨)
'Case "1" and "2" '駄目
Case 1 and 2 'OK
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!