我有一个案例结构,可以解码字符串值,并根据该值执行操作代码。案例结构非常简单,可以在其中解码预定义的值(例如“ / Start”,“ / Run”等)。但是,我有这种情况结构的一部分,需要解码变化的值。
因此,例如,我需要捕获“ / IP:blah”的字符串值(blah总是会改变)并基于blah执行代码。
我的代码如下所示:
Select Case Message
Case Like "/SetServerIP:*"
'Determine IP from Message string (*)
'Set new IP address of server in my.settings
End Select
不确定如何实现。任何帮助表示赞赏,谢谢。
您可以将Case
语句与Is
关键字和比较运算符一起使用。
将Is关键字与比较运算符(=,<>,或> =)一起使用以指定对testexpression的匹配值的限制。如果未提供Is关键字,则会将其自动插入到compareoperator之前。
如果Case语句有效,则可以使用Substring()
来获取IP地址,例如:
Dim IPAddress As String=String.Empty
Select Case Message
Case "/Start"
' Your code here
Case Is >= "/SetServerIP:"
IPAddress = Message.Substring(13)
' your code here
End Select
例如“ /SetServerIP:127.0.0.1” => IPAddress =“ 127.0.0.1”“ / SetServerIP:” => IPAddress =“”
编辑:请注意,只有在没有字符串比较greater
或/SetServerIP:
的消息(例如/SftServerIP:
或/SetServerIR
是正确的)时,此选项才有效。
通常在比较中,您将使用Is
:
对已经接受的答案略有改进。使用下面的代码,对我有用