2013-03-25 212 views
3
If TextBox2.Text = "a" AndAlso TextBox21.Text = "a" Then 
     'MessageBox.Show("A") 
     totCorrect = totCorrect + corAns 
    ElseIf TextBox2.Text = "b" AndAlso TextBox21.Text = "b" Then 
     'MessageBox.Show("B") 
     totCorrect = totCorrect + corAns 
    ElseIf TextBox2.Text = "c" AndAlso TextBox21.Text = "c" Then 
     'MessageBox.Show("C") 
     totCorrect = totCorrect + corAns 
    ElseIf TextBox2.Text = "d" AndAlso TextBox21.Text = "d" Then 
     'MessageBox.Show("D") 
     totCorrect = totCorrect + corAns 
    Else 
     totWrong = totWrong + wrgAns 
     Label13.Visible = True 
    End If 

我想让字母a,b,c,d表示用户输入不敏感。试图使用UCase,但它不起作用(不知道我是否使用它错误)。我在Visual Studio 2012中并使用VB。任何参考将是很好的。不区分大小写

+1

看到这个:http://msdn.microsoft.com/en-us/library/system.string.compare(v=vs.80).aspx – David 2013-03-25 02:31:01

+0

谢谢,这是非常有用的 – Brandon 2013-03-25 12:46:07

回答

11

您可以使用String.Compare方法:String.Compare (String strA, String strB, Boolean ignoreCase)

ignoreCase参数与true将执行区分大小写的比较。

If String.Compare(TextBox2.Text, "a", true) = 0 AndAlso String.Compare(TextBox21.Text, "a", true) = 0 Then 
     'MessageBox.Show("A") 
     totCorrect = totCorrect + corAns 
    ElseIf String.Compare(TextBox2.Text, "b", true) = 0 AndAlso String.Compare(TextBox21.Text, "b", true) = 0 Then 
     'MessageBox.Show("B") 
     totCorrect = totCorrect + corAns 
    ElseIf String.Compare(TextBox2.Text, "c", true) = 0 AndAlso String.Compare(TextBox21.Text, "c", true) = 0 Then 
     'MessageBox.Show("C") 
     totCorrect = totCorrect + corAns 
    ElseIf String.Compare(TextBox2.Text, "d", true) = 0 AndAlso String.Compare(TextBox21.Text, "d", true) = 0 Then 
     'MessageBox.Show("D") 
     totCorrect = totCorrect + corAns 
    Else 
     totWrong = totWrong + wrgAns 
     Label13.Visible = True 
    End If 

另一个想法是大写或小写使用ToUpperToLower输入。

Option Compare Text 

如果上面的行添加到代码的开头:

If TextBox2.Text.ToUpper() = "A" AndAlso TextBox21.Text.ToUpper() = "A" Then 
      'MessageBox.Show("A") 
      totCorrect = totCorrect + corAns 
     ElseIf TextBox2.Text.ToUpper() = "B" AndAlso TextBox21.Text.ToUpper() = "B" Then 
      'MessageBox.Show("B") 
      totCorrect = totCorrect + corAns 
     ElseIf TextBox2.Text.ToUpper() = "C" AndAlso TextBox21.Text.ToUpper() = "C" Then 
      'MessageBox.Show("C") 
      totCorrect = totCorrect + corAns 
     ElseIf TextBox2.Text.ToUpper() = "D" AndAlso TextBox21.Text.ToUpper() = "D" Then 
      'MessageBox.Show("D") 
      totCorrect = totCorrect + corAns 
     Else 
      totWrong = totWrong + wrgAns 
      Label13.Visible = True 
     End If 
0

根据MSDN在VB.NET,你可以通过简单地增加1行代码文件使用Option Compare Statement您要让CLR从默认(Option Compare Binary)切换到不区分大小写的比较,作为=运算符的新默认值。

我不知道是否有任何C#替代品。