VB "Conversion from string "s“键入 'Boolean' 无效。”
VB "Conversion from string "s" to type 'Boolean' is not valid."
如果重要的话,我正在使用 Visual Studio Express 2012 和 Windows 7 Professional。
我有一个抛出此异常的简单 VB 程序:
An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
Conversion from string "s" to type 'Boolean' is not valid.
这是代码的麻烦部分:
If stroperation = "S" Or "s" Then
我做错了什么?
整个VB程序:
Public Class MainForm
Public stroperation, strnumber1, strnumber2, strresult As String
Public decnumber1, decnumber2, decresult As Decimal
Public operation
Private Sub calculateButton_Click(sender As Object, e As EventArgs) Handles calculateButton.Click
operation = operationTextBox.Text
stroperation = CStr(operation)
strnumber1 = number1TextBox.Text
decnumber1 = CDec(strnumber1)
strnumber2 = number2TextBox.Text
decnumber2 = CDec(strnumber2)
If stroperation = "S" Or "s" Then
decresult = decnumber1 - decnumber2
resultLabel.Text = "Difference: " & strresult
ElseIf stroperation = "A" Or "a" Then
decresult = decnumber1 + decnumber2
resultLabel.Text = "Sum: " & strresult
Else
MsgBox("Enter A, a, S, or S.")
End If
End Sub
End Class
您需要将其更改为If stroperation = "S" Or stroperation = "s" Then
或者更好的是,您可以这样做:
If stroperation.Equals("S", StringComparison.CurrentCultureIgnoreCase) Then
如果重要的话,我正在使用 Visual Studio Express 2012 和 Windows 7 Professional。
我有一个抛出此异常的简单 VB 程序:
An unhandled exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
Conversion from string "s" to type 'Boolean' is not valid.
这是代码的麻烦部分:
If stroperation = "S" Or "s" Then
我做错了什么?
整个VB程序:
Public Class MainForm
Public stroperation, strnumber1, strnumber2, strresult As String
Public decnumber1, decnumber2, decresult As Decimal
Public operation
Private Sub calculateButton_Click(sender As Object, e As EventArgs) Handles calculateButton.Click
operation = operationTextBox.Text
stroperation = CStr(operation)
strnumber1 = number1TextBox.Text
decnumber1 = CDec(strnumber1)
strnumber2 = number2TextBox.Text
decnumber2 = CDec(strnumber2)
If stroperation = "S" Or "s" Then
decresult = decnumber1 - decnumber2
resultLabel.Text = "Difference: " & strresult
ElseIf stroperation = "A" Or "a" Then
decresult = decnumber1 + decnumber2
resultLabel.Text = "Sum: " & strresult
Else
MsgBox("Enter A, a, S, or S.")
End If
End Sub
End Class
您需要将其更改为If stroperation = "S" Or stroperation = "s" Then
或者更好的是,您可以这样做:
If stroperation.Equals("S", StringComparison.CurrentCultureIgnoreCase) Then