Foxtable(狐表)用户栏目专家坐堂 → [求助]魔力学狐表_字典问题


  共有4502人关注过本帖树形打印复制链接

主题:[求助]魔力学狐表_字典问题

帅哥哟,离线,有人找我吗?
morlay2013
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:73 积分:748 威望:0 精华:0 注册:2013/10/19 8:15:00
[求助]魔力学狐表_字典问题  发帖心情 Post By:2013/11/5 17:12:00 [显示全部帖子]

今天学到帮助文件的字典部分,运行代码后看到结果始终不太明白,请各位高手指导。代码如下:
Dim zd As New Dictionary(Of Integer, String)
zd.Add(1,"苹果")
zd.Add(2,"香蕉")
zd.Add(3,"波罗")
zd.Add(4,"桔子")
zd.Add(5,"桃子")
zd.Remove(1) '移除键1及其对应的值
zd.Remove(5) '移除键5及其对应的值
Output.Show(zd(2)) '显示键2对应的值
Output.Show(zd(3)) '显示键3对应的值
If zd.ContainsKey(1) = False Then '是否存在值"苹果"
    zd.Add(1,"苹果")
End If
If zd.ContainsValue("桃子") = False Then '是否存在值"桃子"
    zd.Add(5,"桃子")
End If

For Each k As Integer In zd.Keys '显示所有键及其对应的值
   Output.Show(K & ":" & zd(k))
Next

以上代码运行结果如下:
5:桃子
2:香蕉
3:波罗
4:桔子
1:苹果

问题:
一、代码中首先添加的是苹果,再添加的是桃子,苹果加在了桔子的后面,而桃子怎么跑到最前面去了?即为什么不是这样的结果:
2:香蕉
3:波罗
4:桔子
1:苹果
5:桃子
二、我在学习前面数组及集合的时候我都试过了,若从数组或集合中删除一个值,后面的内容会依次顶上去(即把被删除的位置补上),而这个字典看样子好像不是这样的,请问它又是怎么样一个结构呢?
三、Output.Show(K & ":" & zd(k))这句代码在输出的时候以(键:值)这样的方式输出,但是按照定义zd(k)中的K代表的是键,即应该输入出它的键,而不是它的值吧?

 回到顶部