2008-09-17 13 views
20

मैं वहाँ दृश्य मूल 2008 में एक तरीका है (एक्सप्रेस संस्करण है कि अगर मायने रखती है) निर्धारित करने के लिए इनलाइन संग्रह प्रारंभ करने के लिए कोशिश कर रहा हूँ, एक ला जावास्क्रिप्ट या अजगर:विजुअल बेसिक 2008 में संग्रह प्रारंभिक वाक्यविन्यास?

Dim oMapping As Dictionary(Of Integer, String) = {{1,"First"}, {2, "Second"}} 

मैं जानता हूँ कि Visual Basic 2008 सरणी आरंभीकरण का समर्थन करता है इस तरह, लेकिन मुझे संग्रह के लिए काम करने के लिए प्रतीत नहीं होता है ... क्या मेरे पास वाक्यविन्यास गलत है, या यह अभी लागू नहीं हुआ है?

+0

भविष्य खोजकर्ताओं के लिए, दो समाधान यहाँ प्रदान की जाती हैं http://stackoverflow.com/questions/2629076/इनलाइन सूची-प्रारंभ में vb शुद्ध – LosManos

उत्तर

19

Visual Basic 9.0 अभी तक इस का समर्थन नहीं करता। हालांकि, Visual Basic 10.0will

+4

* आह * ... कि लंगड़ा –

+0

हम्म, यह है कि मैं क्या से डर लगता था है। धन्यवाद। –

-1

आप स्ट्रिंग का उपयोग कर इसे प्राप्त कर सकते हैं() ToDictionary यह एक-पंक्ति जटिल रूप में:।

Dim kv As Dictionary(Of Integer, String) = _ 
     New String() {"1-first", "2-second", "3-third"}.ToDictionary(_ 
     Function(s) CInt(s.Substring(0, s.IndexOf("-"))), _ 
     Function(it) it.Substring(it.IndexOf("-") + 1)) 

नहीं बहुत सुंदर रास्ता लेकिन बिल्कुल उपयोगी।

4

कीवर्ड से VB collection initializers हैं।

सूची (विजुअल स्टूडियो 2010 के साथ शुरू):

Dim list As New List(Of String) From {"First", "Second"} 

शब्दकोश:

Dim oMapping As New Dictionary(Of Integer, String) From {{1, "First"}, {2, "Second"}} 
+0

केवल VB.NET संस्करण 10 और बाद के लिए यह है? जो दृश्य स्टूडियो के संस्करण के अनुरूप? –