当前位置:
首页 > Python基础教程 >
-
C#教程之C#装箱和拆箱
碰到这个问题两次了,翻了两次车的情况下总结一下装箱和拆箱,这里呢涉及到两个东西,值类型还有引用类型
值类型是什么:C#中的多数基本类型都是值类型,值类型包括简单类型,枚举类型,结构类型
引用类型是什么:引用类型表示指向数据的指针或引用,可存储对实际数据的引用。引用类型
在内存中的存储位置仅包含堆上对象的地址的引用引用类型包括类、接口、数组、字符串,引用类
型为null时,表示没有引用任何对象。
好了,了解了上面这俩个东西之后就可以看看什么是装箱和拆箱了
装箱和拆箱的过程会占用内存资源,因此都要尽量的避免使用装箱和拆箱,
装箱:将一个值类型转换成引用类型,那么这个过程就是装箱
int i=1; //声明一个int型的变量i object obj=i; //将这个值装箱进一个对象应用
拆箱:将一个引用类型转换成值类型,那么这个过程就是拆箱
int i=1; object obj=i; int j=(int) obj; //执行拆箱操作
装箱拆箱的过程都会极大的破坏程序的性能,我之前用的多的都是泛型操作,没去深入的理解这个概念,用的少,也算是补偿自己的一点不足之处吧
那么拆箱跟装箱的损失可以通过使用泛型集合类来补偿,可以用List<T>和Dictory<Tkey,Tvalue>泛型来代替ArrayList和HashTable,即使是List<object>
也会比ArrayList性能好
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式