A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏华成 中级黑马   /  2012-5-19 09:14  /  2410 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

昨天看视频学习到

在文本框里,常常要进行字符串的累加操作.像文本编辑器之类
如果用+=.当字符串非常大的时候,将会反应的非常慢
解决办法:AppendText()

因为AppendText()他只把现在要加的字符串接到文本框里面.而+=它是先读取文本框的内容,然后进行字符串拼接,再显示到文本框中.
可想而为,反慢速度当然是不一样的了.

不知道我这样的理解是否对呢

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

5 个回复

倒序浏览
你理解的是对滴~~:lol
回复 使用道具 举报
你理解的是对滴~~
回复 使用道具 举报
...{:soso_e116:}
回复 使用道具 举报
你的理解是对的,但是有点片面,这个涉及到内存的操作
运算符+=每次操作都会开辟一块新的内存来接收运算符+=操作之后的结果,而AppendText()只是针对一个对象的内存对对字符串操作只是拼接到原来字符串的末尾不会浪费内存
所以当你进行字符串操作的时候,使用运算符+=操作的越多暂用的内存越大,并且速度越慢。这就是原因。
回复 使用道具 举报
和宏定义一样,在需要的时候就进行宏展开,展开的过程需要占用一定的内存
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马