खोज…


परिचय

एक शब्दकोश कुंजियों और मूल्यों के संग्रह का प्रतिनिधित्व करता है। MSDN डिक्शनरी (Tkey, TValue) क्लास देखें

एक शब्दकोश के माध्यम से लूप करें और सभी प्रविष्टियों को प्रिंट करें

शब्दकोश में प्रत्येक जोड़ी शब्दकोश के रूप में एक ही प्रकार के मापदंडों के साथ KeyValuePair का एक उदाहरण है। जब आप For Each शब्दकोश के माध्यम से लूप करते हैं, तो प्रत्येक पुनरावृत्ति आपको शब्दकोश में संग्रहीत कुंजी-मूल्य जोड़े में से एक देगा।

For Each kvp As KeyValuePair(Of String, String) In currentDictionary
  Console.WriteLine("{0}: {1}", kvp.Key, kvp.Value)
Next

मूल्यों से भरा एक शब्दकोश बनाएं

Dim extensions As New Dictionary(Of String, String) _
  from { { "txt", "notepad" },
  { "bmp", "paint" },
  { "doc", "winword" } }

यह एक शब्दकोश बनाता है और तुरंत तीन KeyValuePairs के साथ इसे भरता है।

ऐड विधि का उपयोग करके आप बाद में नए मान भी जोड़ सकते हैं:

extensions.Add("png", "paint")

ध्यान दें कि कुंजी (पहला पैरामीटर) को शब्दकोश में अद्वितीय होना चाहिए, अन्यथा एक अपवाद को फेंक दिया जाएगा।

शब्दकोश मूल्य प्राप्त करना

आप 'आइटम' संपत्ति का उपयोग करके शब्दकोश में प्रविष्टि का मूल्य प्राप्त कर सकते हैं:

Dim extensions As New Dictionary(Of String, String) From {
    { "txt", "notepad" },
    { "bmp", "paint" },
    { "doc", "winword" }
}

Dim program As String = extensions.Item("txt") 'will be "notepad"

' alternative syntax as Item is the default property (a.k.a. indexer)
Dim program As String = extensions("txt") 'will be "notepad"

' other alternative syntax using the (rare)
' dictionary member access operator (a.k.a. bang operator)
Dim program As String = extensions!txt 'will be "notepad"

यदि कुंजी शब्दकोश में मौजूद नहीं है, तो KeyNotFoundException को फेंक दिया जाएगा।

शब्दकोश में पहले से ही कुंजी के लिए जाँच - डेटा में कमी

ConstainsKey विधि यह जानने का तरीका है कि क्या कोई कुंजी पहले से ही शब्दकोश में मौजूद है।

यह डेटा कटौती के लिए काम आता है। नीचे दिए गए नमूने में, हर बार जब हम एक नए शब्द का सामना करते हैं, तो हम इसे शब्दकोश में एक कुंजी के रूप में जोड़ते हैं, अन्यथा हम इस विशिष्ट शब्द के लिए काउंटर को बढ़ाते हैं।

 Dim dic As IDictionary(Of String, Integer) = New Dictionary(Of String, Integer)

 Dim words As String() = Split(<big text source>," ", -1, CompareMethod.Binary)

 For Each str As String In words
     If dic.ContainsKey(str) Then
         dic(str) += 1
     Else
         dic.Add(str, 1)
     End If
 Next

XML कमी का उदाहरण: XML दस्तावेज़ की एक शाखा में सभी बच्चे के नाम और घटना को प्राप्त करना

Dim nodes As IDictionary(Of String, Integer) = New Dictionary(Of String, Integer)
Dim xmlsrc = New XmlDocument()
xmlsrc.LoadXml(<any text stream source>)

For Each xn As XmlNode In xmlsrc.FirstChild.ChildNodes 'selects the proper parent
    If nodes.ContainsKey(xn.Name) Then
        nodes(xn.Name) += 1
    Else
        nodes.Add(xn.Name, 1)
    End If
Next


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow