[C#复习向整合]object与装箱拆箱
一.object
所有类型的基类,是个类,引用类型
基于里氏替换原则,用object装所有对象
可以用来表示不确定类型,作为函数参数类型.
class Son
{public void Speak(){}
}//使用时,引用类型常用as转换
object o = new Son();
if(o is Son)
{Son s = o as Son;s.Speak();
}object o2 = 1;//装int引用类型
//值类型使用时要强转
int i = (int)o2;object str = "123";
//以下两种转换方式都可以
string str2 = str.ToString();
string str3 = str as string;object arr = new int[10];
//数组转换方式有两种
int[] ar = arr as int[];
int[] ar2 = (int())arr;
二.装箱拆箱
以上内容,
用引用类型(如object)容器存放值类型时,称为装箱.-栈内存迁移到堆内存.
把引用类型转换为值类型,是拆箱.-堆内存迁移到栈内存.
因此内存迁移增加了性能消耗.
"当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。"-菜鸟教程
好处:可以结合变长参数使用,让函数的参数可以为任何值,使用时再转换.
参考资料<唐老狮C#教程>
[C#复习向整合]object与装箱拆箱相关推荐
- C#装箱,拆箱和强制转换(转)
出处:https://www.cnblogs.com/fengjiulin110120/p/6605739.html 关系: 强制转换就包含有装箱拆箱操作,装箱就是把值类型转换成引用类型,反之就是拆箱 ...
- .Net装箱拆箱编程实例
.Net装箱拆箱编程实例 一 装箱是将值类型转换为引用类型 :拆箱是将引用类型转换为值类型. 利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来. ...
- 6个重要的.NET概念:栈,堆,值类型,引用类型,装箱,拆箱
引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱.文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆:最后介绍值类型和引用类型,并 ...
- CLR via C# 中关于装箱拆箱的摘录
装箱: 为了将一个值类型转换成一个引用类型,要使用一个名为装箱(boxing)的机制.下面总结了对值类型的一个实例进行装箱操作时在内部发生的事情. 1.在托管堆中分配好内存.分配的内存量是值类型的各 ...
- 反射、装箱拆箱、ArrayList与Array的区别 - 天生舞男 - 博客园
反射.装箱拆箱.ArrayList与Array的区别 Posted on 2005-09-11 23:11 天生舞男 阅读(125) 评论(0) 编辑 收藏 引用 网摘 所属分类: SPS 1 什么是 ...
- 第十六节 装箱拆箱 类和结构
View Code 案例1:装箱拆箱class Program{/// <summary>/// 装箱,拆箱/// </summary>/// <param name=& ...
- java 装箱 拆箱的作用_Java中的装箱拆箱
一) 装箱与拆箱 Java中有概念是一切皆对象,因为所有的类都默认继承自Object.但是,对于数据类型是个例外,如short,int,long,float,double, byte,char,bo ...
- C# 装箱拆箱 以及性能方面的问题
C#中的拆箱与装箱_夜槿笙歌的博客-CSDN博客_c#拆装箱 1.什么是拆箱和装箱 在C#中,值类型是直接将数据存储在栈空间中:而引用类型是将数据存储在堆空间中,同时在栈空间中存储一个对该数据的引用. ...
- java自动装箱拆箱深入剖析
这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装 ...
最新文章
- 来自51CTOHCNP3期一位技术小白的内心独白
- 初始化Spring Bean:Bean初始化有哪些方式?
- 前端学习(1328):服务器基础概念
- 更新版 | GPU CUDA 进阶课程
- python自动数据结构_Python 数据结构
- 乐观锁的颗粒度_mysql「锁」
- java自行车起源_自行车的起源
- Volley(五)—— 自定义Request
- 2022.04.13【读书笔记】|10X单细胞转录组分析流程介绍
- 系统盘清理,便携小助手一键清理系统垃圾
- WordPress中用户头像不显示,如何解决
- 403 Forbidden nginx/1.6.2
- 为什么要特征标准化及特征标准化方法
- 二手车微信小程序来袭
- 有趣的黑掉卫星Hack-A-Sat CTF比赛——模拟卫星视角beckley
- 速腾 RS-Bpearl 显示点云
- IT行业基础知识:云计算到底是什么
- 最长递增子序列问题 nyoj 17单调递增最长子序列 nyoj 79拦截导弹
- DockerCompose从零基础讲解到玩转它!
- 基于粒子群算法的冷热电三联供综合能源系统优化调度
热门文章
- 自建连接池,通过动态代理增强getConnection()方法,使其调用用close()方法时具有返回连接的功能
- yql failed_YQL的测试帖子
- 移动端html怎么调试工具,移动端网页开发调试神器Eruda的介绍与使用技巧
- 强化学习系列 - 刘建平Pinard
- 网页端如何实现点击链接跳转到QQ(手机QQ)打开会话
- Centos7部署ganglia监控
- imessage_如何防止某些人知道您已阅读他们的iMessage
- android 代码卸载和安装应用
- 百度搜索链接中的汉字转码
- 收费站可以用计算机吗不会算,全国首个高速收费计算器上线!ETC过路费终于算明白了...