在TSQL ..
IF MyVal IN (1, 2, 3, 4, 14) BEGIN ... END
有没有办法在VB.NET中执行此操作?
是否可以检查一组整数内嵌中是否存在整数?
如:
If MyVal in (1, 2, 3, 4, 14) Then ... End If
答案 0 :(得分:6)
数组是IEnumerable
的一个实现,因此使用System.Linq
导入Tim Schmelter的answer的速记版本将是:
{1,2,3,4,14}.Contains(MyVal)
数组也有explicit implementation IList.Contains
,因此如果没有LINQ,可能不太优雅的选择是:
DirectCast({1,2,3,4,14}, IList).Contains(MyVal)
答案 1 :(得分:3)
例如List.Contains方法
Dim MyVal = 4
Dim MyValues = {1,2,3,4,5,6,7}.ToList
MyValues.Contains(MyVal)
MyValues.Sort()
Dim contains = MyValues.BinarySearch(MyVal) > -1
或Any
MyValues.Any(Function(item)item=MyVal)