当前位置: 首页 > news >正文

古楼角网站建设携程旅行网网站策划书

古楼角网站建设,携程旅行网网站策划书,移动互联网营销公司,江苏建设人才网官方网站装箱和拆箱是C#语言中非常重要的两个概念。在C#中#xff0c;值类型#xff08;如int#xff0c;double#xff0c;struct等#xff09;和引用类型#xff08;如class#xff0c;interface等#xff09;是两种完全不同的数据类型。而装箱和拆箱就是这两种类型之间转换的…装箱和拆箱是C#语言中非常重要的两个概念。在C#中值类型如intdoublestruct等和引用类型如classinterface等是两种完全不同的数据类型。而装箱和拆箱就是这两种类型之间转换的过程。 在C#中所有的值类型都直接派生自System.ValueType而System.ValueType又派生自System.Object。这意味着值类型在某种程度上也是对象类型因此可以访问一些普通对象的方法如ToString、Equals、GetHashCode等。装箱和拆箱就是C#为了在值类型和引用类型之间建立桥梁而提供的机制。 装箱 当我们将一个值类型转换为object类型或者任何此值类型的接口类型时就发生了装箱操作。装箱操作涉及到堆内存分配这是一个相对昂贵的操作。这是因为它需要创建一个新的对象然后将值类型的值复制到这个新对象。由于装箱操作涉及到内存分配所以在性能敏感的代码中我们应尽量避免装箱操作。 int i 123; // 创建值类型变量 object o i; // 装箱操作拆箱 拆箱是装箱的反向操作即将一个引用类型转换为值类型。拆箱操作同样也需要进行内存分配。拆箱操作需要类型完全匹配否则会在运行时抛出InvalidCastException异常。 object o 123; // 装箱操作 int i (int)o; // 拆箱操作一个重要的点是拆箱操作是在已装箱的对象上执行的。如果你试图拆箱一个没有被装箱的对象你将会得到一个InvalidCastException异常。 性能影响 由于装箱和拆箱都涉及到堆内存操作所以它们都是有性能开销的。在大量进行装箱和拆箱操作的情况下这种性能开销可能会变得很明显。因此在编写代码时我们应该尽量避免不必要的装箱和拆箱操作。 例如使用泛型集合如List而不是非泛型集合如ArrayList可以避免装箱和拆箱操作因为泛型集合在编译时就已经确定了类型而非泛型集合在存储值类型时需要进行装箱操作。 总的来说了解装箱和拆箱以及它们的性能影响可以帮助我们写出更高效的C#代码。
http://www.yutouwan.com/news/472234/

相关文章:

  • 深圳网站提升排名辽源市网站建设
  • 售后服务网站做企业品牌网站的公司
  • 做响应式网站的菜单网站怎么上传到空间
  • 公益网站模板网站自适应宽度
  • 学校网站建设的成果企业运营管理名词解释
  • 龙川县建设网站网站搭建好显示建设中
  • 注册门户网站最大的网站建设公司
  • 三台建设局网站建一个域名网站要多少钱
  • 移动端网站怎么做优化wordpress更换域名教程
  • 做行业网站广告能赚多少钱深圳网站公司推广平台
  • 拖拽式建站平台网站建设 兼职
  • 给你一个网站如何做推广微信广告代理
  • 气动喷枪网站建设阿里巴巴新网站怎么做运营
  • 怎样建立销售网站wordpress 主机服务主题
  • 老外的网站怎么做seo关键词查询
  • 做网站有什么求个网站你明白的 知乎
  • 小说网站开发流程wordpress怎么换域名
  • 关于做暧暧的网站网站建设移交确认书
  • 平陆县网站建设wordpress可以放视频播放器
  • 网站运营做网页设计网站是做排行榜
  • 免费的站外推广wordpress resize
  • 网站开发需要几个域名网站建设文字资料
  • 网站模板文件扫描广告最多的网站
  • 正规的丹阳网站建设企业电子商务网站开发数据库设计
  • 专业的微商城网站建设本溪网站建设公司
  • 网上效果代码网站可以下载吗搜索引擎优化的基础是什么
  • 网站交互性郑州制作网站推荐
  • 吉安市建设局施工管理站网站wordpress怎么搭
  • 贵州省住房与城乡建设厅门户网站学校网站做网页飘窗怎么做
  • 网站网页切换怎么做的成都工装设计公司排名