大家早上好。
我有这个非常奇怪的问题。
以下是我的代码片段。
Dim apantisi_pou_edwse As String
Dim objreader As New StreamReader(TEST_NAME)
Dim Answer1 As String = Split(objreader.ReadToEnd(), vbCrLf)(1) & vbCrLf
If test1.RadioButton1.Checked = True Then
apantisi_pou_edwse = test1.RadioButton1.Text.ToString()
ElseIf test1.RadioButton2.Checked = True Then
apantisi_pou_edwse = test1.RadioButton2.Text.ToString()
End If
If apantisi_pou_edwse = Answer1 Then
RichTextBox1.BackColor = Color.Green
RichTextBox1.Text = "Right answer!"
ElseIf apantisi_pou_edwse <> Answer1 Then
RichTextBox1.BackColor = Color.Red
RichTextBox1.Text = "Sorry, wrong anwser"
End If
那么它的作用是从文本文件中读取一行并将其分配给字符串变量Answer1。 然后,它获取相应单选按钮的Text属性,并将其分配给String变量apantisi_pou_edwse。 最后,它检查apantisi_pou_edwse = Aswer1。 问题是即使两者相等,if ... then语句也不会识别它们并且一直移动到elseif部分。 我错过了什么? 非常感谢
修改
If String.Compare(apantisi_pou_edwse, Answer1) = 0 Then
RichTextBox1.BackColor = Color.Green
RichTextBox1.Text = "Συγχαρητήρια απάντησες σωστά"
Else
RichTextBox1.BackColor = Color.Red
RichTextBox1.Text = "Λυπάμαι απάντησες λάθος"
End If
我用上面的那个改变了我的if语句,但它仍然不起作用:(
EDIT2 感谢Mortalus和Enigmativity的答案!他们解决了这个问题
答案 0 :(得分:1)
您应该使用不同的方法来比较以下行的字符串:
If apantisi_pou_edwse = Answer1 Then
此行比较apantisi_pou_edwse
与Answer1
变量
尝试使用。
String.Compare(apantisi_pou_edwse, Answer1 )
答案 1 :(得分:1)
尝试更改此行:
Dim Answer1 As String = Split(objreader.ReadToEnd(), vbCrLf)(1) & vbCrLf
到此:
Dim Answer1 As String = Split(objreader.ReadToEnd(), vbCrLf)(1)