黑马程序员技术交流社区

标题: 关于内存的问题 [打印本页]

作者: 杨进    时间: 2012-9-25 19:13
标题: 关于内存的问题
本帖最后由 杨进 于 2012-9-25 19:21 编辑

第一段代码:
string str1 = "abc";
            string str2 = "def";
            string str = str1 + str2;
            Console.WriteLine(str);

第二段代码:
string str1 = "abc";
            string str2 = "def";
            Console.WriteLine(str1 + str2);


2段代码占用的内存是一样多的吗?

作者: 李阳Leo    时间: 2012-9-25 19:27
当然是第一个多,无悬念啊,哥们,我入学考都考完了,你要速度啊
作者: 杨进    时间: 2012-9-25 19:31
Console.WriteLine(str1 + str2);这样不会生成一个新的字符串吗
作者: 杨进    时间: 2012-9-25 19:33
李阳_TickTock 发表于 2012-9-25 19:27
当然是第一个多,无悬念啊,哥们,我入学考都考完了,你要速度啊

主要是ado和多线程还没把握,前面只大略看了一遍没怎么懂,今天复习完winform明天开始研究,我会赶上4期的:(
作者: 李阳Leo    时间: 2012-9-25 19:37
Console.WriteLine(str1 + str2);

这只是把这两个地址的东西拿来用而已,并没有开辟新的内存空间

入学考很简单,不考多线程,ADO.NET只有一点点,看一下那个省市的就行了,没问题的
作者: 杨进    时间: 2012-9-25 19:41
本帖最后由 杨进 于 2012-9-25 19:49 编辑
李阳_TickTock 发表于 2012-9-25 19:37
Console.WriteLine(str1 + str2);

这只是把这两个地址的东西拿来用而已,并没有开辟新的内存空间

谢了。。
作者: 郎乐乐    时间: 2012-9-25 19:43
第一个占的多,Console.WriteLine(str1 + str2);中创建了str1+str2,但是 第一个在散列表中加了str。
可以看一下这个文章来理解C#的GC   http://blog.csdn.net/xsgreen/article/details/3647400




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