黑马程序员技术交流社区

标题: +=与AppendText()的区别 [打印本页]

作者: 夏华成    时间: 2012-5-19 09:14
标题: +=与AppendText()的区别
昨天看视频学习到

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

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

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


作者: 吴淑金    时间: 2012-5-19 12:17
你理解的是对滴~~:lol
作者: 吴淑金    时间: 2012-5-19 12:17
你理解的是对滴~~
作者: 夏华成    时间: 2012-5-19 12:46
...{:soso_e116:}
作者: 朱亮辉    时间: 2012-5-21 11:42
你的理解是对的,但是有点片面,这个涉及到内存的操作
运算符+=每次操作都会开辟一块新的内存来接收运算符+=操作之后的结果,而AppendText()只是针对一个对象的内存对对字符串操作只是拼接到原来字符串的末尾不会浪费内存
所以当你进行字符串操作的时候,使用运算符+=操作的越多暂用的内存越大,并且速度越慢。这就是原因。
作者: 魏庆君    时间: 2012-5-21 22:59
和宏定义一样,在需要的时候就进行宏展开,展开的过程需要占用一定的内存




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2