2012-03-31 10 views
5

TSQL में ..क्या वीबी.नेट में टीएसक्यूएल के "आईएन" की तरह कार्यक्षमता है?

IF MyVal IN (1, 2, 3, 4, 14) BEGIN ... END 

वहाँ VB.NET में ऐसा करने का कोई तरीका है?

क्या पूर्णांक इनलाइन के एक सेट में पूर्णांक के अस्तित्व की जांच करना संभव है?

जैसे:

If MyVal in (1, 2, 3, 4, 14) Then ... End If 

उत्तर

6

सरणी IEnumerable के एक कार्यान्वयन कर रहे हैं तो System.Linq आयात के साथ टिम Schmelter के answer की एक आशुलिपि संस्करण होगा:

{1,2,3,4,14}.Contains(MyVal) 

सरणी भी एक IList.Contains की explicit implementation है तो LINQ के बिना एक शायद कम सुरुचिपूर्ण विकल्प है:

DirectCast({1,2,3,4,14}, IList).Contains(MyVal) 
3

उदाहरण List.Contains विधि

Dim MyVal = 4 
Dim MyValues = {1,2,3,4,5,6,7}.ToList 

MyValues.Contains(MyVal) 

या BinarySearch के लिए:

MyValues.Sort() 
Dim contains = MyValues.BinarySearch(MyVal) > -1 

या Any

MyValues.Any(Function(item)item=MyVal) 
+0

यह एक बहुत अच्छा जवाब है। मुझे नहीं पता था कि आप इस तरह की सूची इनलाइन बना सकते हैं और पॉप्युलेट कर सकते हैं। –

संबंधित मुद्दे