Visual Basic .NET Language
शब्दकोश
खोज…
परिचय
एक शब्दकोश कुंजियों और मूल्यों के संग्रह का प्रतिनिधित्व करता है। 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