0

おはようございます。

私はこの非常に奇妙な問題を抱えています。

これが私のコードの抜粋です。

    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かどうかをチェックします。問題は、2つが等しい場合でも、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の回答に感謝します!彼らは問題を解決しました

4

2 に答える 2

1

次の行の文字列を比較するには、別の方法を使用する必要があります。

If apantisi_pou_edwse = Answer1 Then 

apantisi_pou_edwseこの行は、の参照をAnswer1変数と比較します

使ってみてください。

String.Compare(apantisi_pou_edwse, Answer1 )
于 2012-10-03T07:20:03.833 に答える
1

この行を変更してみてください:

Dim Answer1 As String = Split(objreader.ReadToEnd(), vbCrLf)(1) & vbCrLf

これに:

Dim Answer1 As String = Split(objreader.ReadToEnd(), vbCrLf)(1)
于 2012-10-03T07:29:35.450 に答える