vb.net - 我可以在 if 中使用变量比较运算符吗?
问题描述
有任何函数可以使用字符串示例 ">=" 到 if s1>=s2。现在我创建的函数可能有一个短代码。
Function Compare(s1 As String, s2 As String, Op As String)
If Op = ">=" Then
Return s1 >= s2
ElseIf Op = ">" Then
Return s1 > s2
ElseIf Op = "=" Then
Return s1 = s2
ElseIf Op = "<" Then
Return s1 < s2
ElseIf Op = "=<" Then
Return s1 < s2
Else
Return False
End If
End Function
解决方案
稍微调整一下,它可能看起来像这样:
Function Compare(s1 As String, s2 As String, op As String, caseSensitive As Boolean) As Boolean
Dim myComparer As StringComparer = If(caseSensitive, StringComparer.InvariantCulture, StringComparer.InvariantCultureIgnoreCase)
Select Case op
Case "=", "=="
Return myComparer.Equals(s1, s2)
Case "<>", "!="
Return Not myComparer.Equals(s1, s2)
Case "<"
Return myComparer.Compare(s1, s2) < 0
Case "<=", "=<", "!>"
Return myComparer.Compare(s1, s2) <= 0
Case ">"
Return myComparer.Compare(s1, s2) > 0
Case ">=", "=>", "!<"
Return myComparer.Compare(s1, s2) >= 0
End Select
Return False
End Function
推荐阅读
- powerbi - PowerBI - 将日期转换为当月的周数
- python - python中的正则表达式帮助查找链接
- javascript - 当参数少于参数时使用 Switch
- python - 为什么 Scapy 会打开一个 powershell.exe 实例?
- alexa - 更改帐户上的用户密码后,Alexa 中的链接帐户会发生什么情况?
- javascript - 带有自定义 javascript 事件的 Adobe AEM 表单引发 guideLib、guide.js、guideBridge 或 guideRuntime undefined 或 ... 不是函数
- c - 在 C 中使用 libopus 编码 pcm 和解码 opus 数据
- python - 是否有命令使代码重置到某一行?(Python)
- python - 我对编写代码非常陌生,并且正在努力两个链接 GUI 中标签的代码和 API 的代码
- php - password_hash 和 password_verify:使用硬编码的哈希值总是被评估为假