【发布时间】:2012-03-31 00:07:04
【问题描述】:
在 TSQL 中..
IF MyVal IN (1, 2, 3, 4, 14) BEGIN ... END
有没有办法在 VB.NET 中做到这一点?
是否可以检查整数集合中是否存在整数内联?
如:
If MyVal in (1, 2, 3, 4, 14) Then ... End If
【问题讨论】:
标签: sql-server vb.net
在 TSQL 中..
IF MyVal IN (1, 2, 3, 4, 14) BEGIN ... END
有没有办法在 VB.NET 中做到这一点?
是否可以检查整数集合中是否存在整数内联?
如:
If MyVal in (1, 2, 3, 4, 14) Then ... End If
【问题讨论】:
标签: sql-server vb.net
数组是 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)
【讨论】:
例如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)
【讨论】: