博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net字符串内存的分配
阅读量:7190 次
发布时间:2019-06-29

本文共 417 字,大约阅读时间需要 1 分钟。

几次面试中遇到都有类似的问题,就是

  string str = "aa" + "bb" + "ccc";进行了几次内存分配?

1 class Program2     {3         static void Main(string[] args)4         {5             string str = "aa" + "bb" + "ccc";6             Console.WriteLine(str);7         }8     }

我们知道由于字符串是不可变的,所以我理所当然的以为进行了四次内存

分配。分别是aa,bb,ccc,aabbccc四次分配,真是情况是这样吗?

今天忽然想起来,于是写了代码做一下验证,用Ildasm看一下

实际上是分配了一次,只所以这样,是编译器进行了优化。

 

转载于:https://www.cnblogs.com/zhuqun/p/3922782.html

你可能感兴趣的文章
Errors running builder 'Integrated External Tool Builder' on project xxx
查看>>
SpringMVC学习笔记(三)
查看>>
数据结构之线性表的查找
查看>>
Google论文之三----MapReduce
查看>>
SpringMVC的拦截器不起作用原因
查看>>
.Net刷新页面的几种方式
查看>>
mysql安装
查看>>
Thymeleaf入门基础
查看>>
第八天,培训结束了
查看>>
分享WinCE钩子封装库
查看>>
批量操作文本文件进行dos/unix格式转换
查看>>
thinkphp 随机获取一条数据
查看>>
vue生命周期
查看>>
初步使用分支、循环判断数字大小
查看>>
Hbase之修改表结构
查看>>
通过浏览器学习前端的小技巧
查看>>
APP开发之AngularJS学习
查看>>
Sass:RGB颜色函数-Mix()函数
查看>>
phpMyAdmin 错误 缺少 mysqli 扩展。请检查 PHP 配置
查看>>
Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法
查看>>