Dictionary
表示键和值的集合。可以方便高效地进行键值查找。
名称 | 类型 | 说明 |
Add | 方法 | 将指定的键和值添加到字典中 |
Clear | 方法 | 清除所有的键和值 |
ContainsKey | 方法 | 判断是否包含指定的键 |
ContainsValue | 方法 | 判断是否包括指定的值 |
Count | 方法 | 返回字典中键/值对的数目 |
Remove | 方法 | 移除指定的键和值 |
TryGetValue | 方法 | 尝试通过某个Key值来获得值,如果有此Key则直接返回True,并将Value通过第二个参数返回,如果没有找到,则直接返回False. |
Item(索引器) | 属性 | 某个键对应的值 |
Keys | 属性 | 返回键的集合 |
Values | 属性 | 返回值的集合 |
Vb.Net |
'创建泛型字典,Key类型为int,Value类型为string Dim myDictionary As Dictionary(Of Integer, String) = New Dictionary(Of Integer, String)() '1.添加元素 myDictionary.Add(1, "a") myDictionary.Add(2, "b") myDictionary.Add(3, "c") '可以直接赋值的方式添加元素。如果此时Key存在的话,则替换之前的值,如果Key不存在,则添加此键值对 myDictionary(5) = "e" '2.删除元素 myDictionary.Remove(3) '3.假如不存在元素则添加元素 If Not myDictionary.ContainsKey(4) Then myDictionary.Add(4, "d") End If '4.显示容量和元素个数 Proj.MsgDebug.Add("元素个数:{0}", myDictionary.Count) '5.通过key查找元素 If myDictionary.ContainsKey(1) Then Proj.MsgDebug.Add("key:{0},value:{1}", "1", myDictionary(1)) Proj.MsgDebug.Add(myDictionary(1)) End If '6.通过KeyValuePair遍历元素 For Each kvp As KeyValuePair(Of Integer, String) In myDictionary Proj.MsgDebug.Add("key={0},value={1}", kvp.Key, kvp.Value) Next '7.得到哈希表键的集合 Dim keyCol As Dictionary(Of Integer, String).KeyCollection = myDictionary.Keys '遍历键的集合 For Each n As Integer In keyCol Proj.MsgDebug.Add("key={0}", n) Next '8.得到哈希表值的集合 Dim valCol As Dictionary(Of Integer, String).ValueCollection = myDictionary.Values '遍历值的集合 For Each s As String In valCol Proj.MsgDebug.Add("value:{0}", s) Next '9.使用TryGetValue方法获取指定键对应的值 Dim slove As String = String.Empty If myDictionary.TryGetValue(5, slove) Then Proj.MsgDebug.Add("查找结果:{0}", slove) Else Proj.MsgDebug.Add("查找失败") End If '10.清空哈希表 myDictionary.Clear() '返回结果:元素个数:4 '返回结果:key:1,value:a '返回结果:a '返回结果:key=1,value=a '返回结果:key=2,value=b '返回结果:key=4,value=d '返回结果:key=5,value=e '返回结果:key=1 '返回结果:key=2 '返回结果:key=4 '返回结果:key=5 '返回结果:value:a '返回结果:value:b '返回结果:value:d '返回结果:value:e '返回结果:查找结果:e |
C# |
//创建泛型字典,Key类型为int,Value类型为string Dictionary<int, string> myDictionary = new Dictionary<int, string>(); //1.添加元素 myDictionary.Add(1, "a"); myDictionary.Add(2, "b"); myDictionary.Add(3, "c"); //可以直接赋值的方式添加元素。如果此时Key存在的话,则替换之前的值,如果Key不存在,则添加此键值对 myDictionary[5]="e"; //2.删除元素 myDictionary.Remove(3); //3.假如不存在元素则添加元素 if (!myDictionary.ContainsKey(4)) { myDictionary.Add(4, "d"); } //4.显示容量和元素个数 Proj.MsgDebug.Add("元素个数:{0}",myDictionary.Count); //5.通过key查找元素 if (myDictionary.ContainsKey(1)) { Proj.MsgDebug.Add("key:{0},value:{1}","1", myDictionary[1]); Proj.MsgDebug.Add(myDictionary[1]); } //6.通过KeyValuePair遍历元素 foreach (KeyValuePair<int,string>kvp in myDictionary) { Proj.MsgDebug.Add("key={0},value={1}", kvp.Key, kvp.Value); } //7.得到哈希表键的集合 Dictionary<int, string>.KeyCollection keyCol = myDictionary.Keys; //遍历键的集合 foreach (int n in keyCol) { Proj.MsgDebug.Add("key={0}", n); } //8.得到哈希表值的集合 Dictionary<int, string>.ValueCollection valCol = myDictionary.Values; //遍历值的集合 foreach( string s in valCol) { Proj.MsgDebug.Add("value:{0}",s); } //9.使用TryGetValue方法获取指定键对应的值 string slove = string.Empty; if (myDictionary.TryGetValue(5, out slove)) { Proj.MsgDebug.Add("查找结果:{0}", slove); } else { Proj.MsgDebug.Add("查找失败"); } //10.清空哈希表 myDictionary.Clear(); //返回结果:元素个数:4 //返回结果:key:1,value:a //返回结果:a //返回结果:key=1,value=a //返回结果:key=2,value=b //返回结果:key=4,value=d //返回结果:key=5,value=e //返回结果:key=1 //返回结果:key=2 //返回结果:key=4 //返回结果:key=5 //返回结果:value:a //返回结果:value:b //返回结果:value:d //返回结果:value:e //返回结果:查找结果:e |