.net – 如何使用Case检测参数
发布时间:2020-12-17 00:27:38 所属栏目:大数据 来源:网络整理
导读:我正在尝试创建一系列可以获取参数的命令.拿起每个单独的命令我正在使用Select Case这个问题是如果我使用Case Else,我无法感知’参数'(字符串的第二部分).如果我不使用Case Else,那么我无法处理不正确的命令并将它们发送到所需的程序. 例如: Private Sub Al
我正在尝试创建一系列可以获取参数的命令.拿起每个单独的命令我正在使用Select Case这个问题是如果我使用Case Else,我无法感知’参数'(字符串的第二部分).如果我不使用Case Else,那么我无法处理不正确的命令并将它们发送到所需的程序.
例如: Private Sub AllocateType(ByVal Command As String) Select Case Command Case "Eat" 'Call Eat procedure Case "Use" 'Call Use procedure Case "Quit" Case "Pause" Case "Go" Case Else Errors() 'Error handling procedure End Select End Sub 如果命令是’Brrr??rr’,它将调用Errors().然而,如果命令是’Eat Food’,它仍然会调用Errors()并且不将参数传递给Eat程序. 编辑,因为它现在不起作用. 例: Select Case Command Case Command.Contains("Eat") Output("TESTING") If Len(Command) > 4 Then Command = Mid(Command,4,(Len(Command) - 4)) Interaction(Command) Else Output("Eat What?") End If Case "Eat" Output("Eat What?") Case Command.StartsWith("Use") If Len(Command) > 4 Then Command = Mid(Command,(Len(Command) - 4)) Interaction(Command) Else Output("Use What?") End If Case "Use" Output("Use What?") 'Case Else ' Errors() End Select
没错,你可以保留你的Select Case块,但由于你没有检查String的完全相等,你应该根据你的目标检查Command.Contains(“Eat”)或Command.StartsWith(“Eat”).
侮辱; Private Sub AllocateType(ByVal Command As String) Select Case True Case Command.StartsWith("Eat") 'Call Eat procedure Case Command.StartsWith("Use") 'Call Use procedure Case Command.StartsWith("Quit") Case Command.StartsWith("Pause") Case Command.StartsWith("Go") Case Else Errors() 'Error handling procedure End Select End Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |