2016-04-27 140 views
-2

我正在创建一个要求用户输入部件号的Windows Forms表单,例如“XY12345E678”。然后,使用if-语句将程序搜索第7个位置,并根据该位置中的字符做一些代码。在这种情况下,它将是“E”或“F”。某个字符的搜索字符串

例如:

 Dim partNumber as String 
     partNumber = textboxPartNumber.Text 
     Dim seventhPosition as String 
     seventhPosition = partNumber.Substring(7, 1) 

     If seventhPosition *is an "E"* 
     ''' Do some code ''' 
     ElseIf seventhPosition *is an "F"* 
     ''' Do some code ''' 
     Else 
     ''' Do some code ''' 
+2

它是什么你卡住了?您与'='比较 – BanksySan

+0

@BanksySan if语句的条件。是否就像“如果第七个位置=”E“那么简单...然后...? – Bcon615

+0

是的。Google也会这么说![** Visual Basic **中的比较运算符](https://msdn.microsoft.com /en-us/library/215yacb6.aspx)。 –

回答

1

如果你发现自己写长If...ElseIf... ElseIf...语句,那么你应该考虑使用Select Case代替,就像这样:

Dim partNumber As String = textboxPartNumber.Text 

If partNumber.Length >= 7 Then 
    Dim seventhPosition As String = partNumber.Substring(7, 1) 
    Select Case seventhPosition 
     Case "E" 
      ' some code 
     Case "F" 
      ' some code 
     Case Else 
      ' it is not an "E" or "F" 
    End Select 

Else 
    ' the part number is too short 
End If 

您实际上并不需要使用=在案件条款,但如果你想要你可以使用Case Is = "E"

0

你可以用这个试试...

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
      Dim partNumber As String 
      partNumber = textboxPartNumber.Text 
      Dim seventhPosition As String 
      seventhPosition = partNumber.Substring(7, 1) 

      If seventhPosition = "E" Then 
       MsgBox(seventhPosition) 

      ElseIf seventhPosition = "F" Then 
       MsgBox(seventhPosition) 
      Else 
       MsgBox("others") 
      End If 
     End Sub 
0
  Dim partNumber As String 
      partNumber = textboxPartNumber.Text 

      Dim seventhPosition As String 
      seventhPosition = partNumber.Chars(7) 

      If seventhPosition = "E" OrElse seventhPosition = "F" Then 
       'Do something 
      End If