Foxtable(狐表)用户栏目专家坐堂 → [讨论]使用指南中的字典示例


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

主题:[讨论]使用指南中的字典示例

美女呀,离线,留言给我吧!
Shily
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:262 威望:0 精华:0 注册:2020/9/14 17:49:00
[讨论]使用指南中的字典示例  发帖心情 Post By:2020/9/16 18: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 '是否存在键1
    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
For Each v As String In zd.Values '显示所有值
    Output.Show(v)
Next

香蕉
波罗
5:桃子
2:香蕉
3:波罗
4:桔子
1:苹果
桃子
香蕉
波罗
桔子
苹果

为什么打印会是5  2  3  1  4  这样的顺序呢,而不是2  3  4  1  5




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 8:36:00 [只看该作者]

字典是无序的

 回到顶部
美女呀,离线,留言给我吧!
Shily
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:262 威望:0 精华:0 注册:2020/9/14 17:49:00
  发帖心情 Post By:2020/9/17 10:21:00 [只看该作者]


[此贴子已经被作者于2020/9/17 10:26:49编辑过]

 回到顶部
美女呀,离线,留言给我吧!
Shily
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:262 威望:0 精华:0 注册:2020/9/14 17:49:00
  发帖心情 Post By:2020/9/17 10:43:00 [只看该作者]

我是不是可以理解成  原本是  1  2  3  4  5   删除了  1  5   变成了    空  2  3  4 空
然后插入1  占用前一步删除5出来的位置    空  2  3  4  1
再插入5  因为有空位  就成   5  2  3  4  1


新插入的数据 在有空位置的时候会占用上一步删除掉的数据的位置(如果有删除数据的话)
所以像这个删除了两个   插入1 的时候并不会直接插入到第一个位置  形成   1  2  3  4  空
因为插入1的上一步删除的是5,所以占用的应该是5的原本位置   为   空  2  3  4  1这个意思

 回到顶部
美女呀,离线,留言给我吧!
Shily
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:262 威望:0 精华:0 注册:2020/9/14 17:49:00
  发帖心情 Post By:2020/9/17 10:56:00 [只看该作者]

我又删除添加了一个数据尝试了下,发现好像是对应来的

图片点击可在新窗口打开查看图片点击可在新窗口打开查看
删除1  5  3           空   2   空   4   空
插入1    就对应3    空   2    1   4   空
插入5    对应5       空   2    1   4    5
插入3    对应1       3    2    1   4    5

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 11:05:00 [只看该作者]

不一定的,数据少看不出来而已。如果需要使用顺序,改为使用SortedDictionary,用法完全一样,只是这个会按键自动排序

Dim zd As New SortedDictionary(Of Integer, String)

 回到顶部
美女呀,离线,留言给我吧!
Shily
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:262 威望:0 精华:0 注册:2020/9/14 17:49:00
  发帖心情 Post By:2020/9/17 11:12:00 [只看该作者]

好的了解了,谢谢老师

 回到顶部