gpt4 book ai didi

.net - 如何使用Case感测参数

转载 作者:行者123 更新时间:2023-12-04 00:25:07 25 4
gpt4 key购买 nike

我正在尝试创建一系列可以带参数的命令。拿起每个单独的命令,我正在使用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过程。

编辑,因为它现在不起作用。
我已经尝试了建议的方法,但是仍然存在完全相同的问题。看来 Command.StartsWithCommand.Contains都不起作用,因为如果我尝试输入“饮食”,它仍然无法识别这种情况。

例子:
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, 4, (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

关于.net - 如何使用Case感测参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com