vb.net:选择案例问题
我创建了一个代码,只需将一个文本拆分成几行,然后将每一行放在一个文本框中,并将其与几个单词进行比较,因此我选择“selectcase”语句进行比较 这是我的密码: 这是一行一行给我的代码vb.net:选择案例问题,vb.net,select,if-statement,case,Vb.net,Select,If Statement,Case,我创建了一个代码,只需将一个文本拆分成几行,然后将每一行放在一个文本框中,并将其与几个单词进行比较,因此我选择“selectcase”语句进行比较 这是我的密码: 这是一行一行给我的代码 Dim TEXT As String Dim arraytext() As String TEXT = textbox1.Text arraytext = TEXT.Split(vbCrLf) lines = textbox1.LinesCount
Dim TEXT As String
Dim arraytext() As String
TEXT = textbox1.Text
arraytext = TEXT.Split(vbCrLf)
lines = textbox1.LinesCount
textbox2.text = arraytext(i)
textbox2.text = textbox2.text.ToUpper()
然后,我使用以下方法比较文本中的每一行:
Select Case True
Case textbox2.text="BANK0"
textbox3.Text = textbox3.Text & "BANK0" & vbNewLine
Case textbox2.text="BANK1"
textbox3.Text = textbox3.Text & "BANK1" & vbNewLine
Case Else
assem.Text = assem.Text & ";Error line " & i + 1 & vbNewLine
end select
'read next line
i = i + 1
问题是,它只在第一行工作,然后开始转到else情况
我试着用if-else语句解决同样的问题!!
请注意,如果我将代码更改为:它的工作方式类似于charm
Select Case True
Case textbox2.text.contains("BANK0")
textbox3.Text = textbox3.Text & "BANK0" & vbNewLine
Case textbox2.text.contains("BANK1")
textbox3.Text = textbox3.Text & "BANK1" & vbNewLine
Case Else
assem.Text = assem.Text & ";Error line " & i + 1 & vbNewLine
end select
'read next line
i = i + 1
请求帮助;thx提前:)如果比较未通过
=
测试,但通过了.Contains
测试,最可能的解释是textbox2.text
的值不仅仅是“BANK0”,而是包含“BANK0”和至少一个其他字符的字符串
尾随空格可能是一种可能性 使用“Trim”方法并停止误用Select Case(“Select Case True”是VB常见的语法滥用)
关于为什么我认为“选择大小写为真”是一种不好的做法的一点解释:您所做的只是确定第一个为真的“大小写”——这可以通过使用If/ElseIf/Else语法而不是选择大小写来更清楚地完成。听起来您只需要使用“Trim”方法:例如,Case textbox2.Text.Trim()=“BANK0”
Select Case textbox2.Text.Trim()
Case "BANK0"
textbox3.Text &= "BANK0" & vbNewLine
Case "BANK1"
textbox3.Text &= "BANK1" & vbNewLine
Case Else
assem.Text &= ";Error line " & i + 1 & vbNewLine
End Select