ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 佛山小老鼠

[原创] 佛山小老鼠带您走进字典(字典入门帖)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-11-4 16:28 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组集合和字典
总之,dic(key) 就是查询字典中key关键字并返回其对应条目内容的意思,结果可以理解为是一个变量。

而 dic(key) = Item 是可以直接对字典对应关键词key重新进行条目赋值的意思。

需要增加的说明是:
dic(key) = Item  会自动添加关键字key,如果这个key还不存在的话。


…………
也可以简单理解为:
dic("a") = x

等价于下面两句   
dic.Remove "a"
dic.Add "a", x


…………
dic("a") = dic("a") + x
等价于下面两句:
t = dic("a")
dic.Add "a", t + x


…………
dic("a") = dic("a") & "," & Str
等价于下面两句:
s = dic("a")
dic.Add "a", s & "," & Str
            

…………
呵呵,我的说明比楼主的详细多了吧…………

TA的精华主题

TA的得分主题

发表于 2013-11-4 16:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

欧诺个心

本帖最后由 香川群子 于 2013-11-4 17:01 编辑

其实真的很好理解……

按常识,【=】往往就是给变量赋值的作用。

dic(key) 就是一个字典根据关键字引用条目内容的变量,


因此,dic(key)=item 就是一次对字典关键字条目变量进行条目内容变量重新赋值的【变量赋值过程】


至于字典方法中具体是如何做到关键字条目变量重新赋值的……这个应该没那么简单,
不过我们一般爱好者是完全没必要去深究了。


用一个【=】做到了让大家写应用代码时可以非常简明,
但微软程序在后台的编译、操作是需要几十甚至几百几千行代码才能完成的事。


TA的精华主题

TA的得分主题

发表于 2013-11-4 17:48 | 显示全部楼层
版主又有新杰作了,太激动了。

TA的精华主题

TA的得分主题

发表于 2013-11-5 00:20 | 显示全部楼层
补充:

在使用 dic(key)=x 或者 dic(key)=dic(key)+x
或者使用 t=dic(key) 语句时,

如果字典中key还不存在,那么字典会自动把查询的key加入字典中去。
如果是使用 t=dic(key) 语句时,该字典key对应的Item条目内容为 Empty 空值。


但是如果使用 dic.Exists(key)作判断查询时,不会把查询的key关键字加入字典。

这个是使用dic(key)作为字典变量操作时需要注意的地方。

(但是如果后面一定会用赋值语句如: dic(key)=x 或 dic(key)=dic(key)+y 时则毫无影响)



TA的精华主题

TA的得分主题

发表于 2013-11-5 13:06 | 显示全部楼层
香川群子 发表于 2013-11-5 00:20
补充:

在使用 dic(key)=x 或者 dic(key)=dic(key)+x

多谢香川群子的分解,多次受益,以后有不懂的继续请教,谢谢。

TA的精华主题

TA的得分主题

发表于 2013-11-6 21:11 | 显示全部楼层
楼主和群子威武,十分感谢讲解的如此细致{:soso_e163:}

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-11-6 21:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
排队站个位置 学习

TA的精华主题

TA的得分主题

发表于 2013-11-12 11:24 | 显示全部楼层
占个位置~~以后用~谢谢楼主~!

TA的精华主题

TA的得分主题

发表于 2013-11-12 11:43 | 显示全部楼层
老师出品,{:soso_e179:},又让学生复习了一下知识。比以前更明了了。

TA的精华主题

TA的得分主题

发表于 2013-11-12 13:29 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-22 17:16 , Processed in 0.043896 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表