数値または文字列に応じて、ユーザー入力を異なる方法で処理する必要があるプログラムを使用しています。Select Case と IsNumeric が期待どおりに機能しません。
animal=a char または string の場合にこのコードを取得します。
エラー:
タイプ 'System.InvalidCastException' の未処理の例外が Microsoft.VisualBasic.dll で発生しました
追加情報: 文字列「D」からタイプ「Long」への変換は無効です。
問題のあるコード:
Case "D" Or "d"
すべてのコード:
Option Explicit Off
Option Strict Off
Public Class MainForm
Public Sub ifButton_Click(sender As Object, e As EventArgs) Handles ifButton.Click
animal = codeTextBox.Text
Select Case IsNumeric(codeTextBox.Text)
Case True
Dim decanimal As Decimal
decanimal = CDec(animal)
Select Case decanimal
Case "1"
msgLabel.Text = "Dog"
Case "2"
msgLabel.Text = "Cat"
Case Else
msgLabel.Text = "Bird"
End Select
Case False
Dim stranimal As String
stranimal = CStr(animal)
Select Case stranimal
Case "D" Or "d"
msgLabel.Text = "Dog"
Case "C" Or "c"
msgLabel.Text = "Cat"
Case Else
End Select
End Select
End Sub
End Class