Vb.net VB中IF语句中的多个True条件
在if语句中是否可能有多个条件的计算结果为true?主要是通过速记来节省时间: 例如:Vb.net VB中IF语句中的多个True条件,vb.net,Vb.net,在if语句中是否可能有多个条件的计算结果为true?主要是通过速记来节省时间: 例如: if value = 1 or value = 9 or value = 3 or value = 17 Then return True 我想知道是否在MSDN中找不到与此相关的内容 if value = 1,9,3,17 Then return True 不能使用IF语句执行此操作,但可以使用: SELECT CASE value CASE 1, 3, 9, 17 ' Do s
if value = 1 or value = 9 or value = 3 or value = 17 Then return True
我想知道是否在MSDN中找不到与此相关的内容
if value = 1,9,3,17 Then return True
不能使用IF语句执行此操作,但可以使用:
SELECT CASE value
CASE 1, 3, 9, 17
' Do something
CASE 2, 4
' Do another thing
CASE ELSE
' Do something else
END SELECT
如果它是一个return语句,你可以像这样把它缩短一点
Return value = 1 Or value = 9 Or value = 3 Or value = 17
另外,如果值位于数组中,则可以使用Linq-Any函数
Dim value As Integer = 1
Dim values = New Integer() {1, 9, 3, 17}
Return values.Any(Function(number) number = value)
您也可以尝试以下方式:
If (New List(Of Integer)(New Integer() {1, 3, 5, 7, 9}).Contains(value)) Then
Return TRUE
End If
你不能在VB中做你想做的事情,但是你可以绕过它。这里有一个方法。将值放入数组中。可以使用IndexOf方法搜索数组。如果返回的数字大于-1,则在数组中找到该项。有一些你想在网上读到的陷阱 您还可以将测试缩短为内联比较和赋值,从而无需使用上面的If语句:
value = (Array.IndexOf(myList, 12) > -1)
所有伟大的提示。我总是忘记许多缩短代码的方法。需要一个备忘单或类似的最常见的!
value = (Array.IndexOf(myList, 12) > -1)