时间:2021-05-20
了解了数据类型与变量的基本概念之后,我们来讨论数据类型的转换与装箱与拆箱!装箱和取消装箱使我们能够统一地来考察类型系统,其中任何类型的值最终都可以按对象处理。
一、数据类型转换
在编程时 我们有时候会遇到将一个类型的变量转换成另一种数据类型,我们称它为数据类型的转换,C#数据类型的转换有两种方式如下:
1.默认安全的数据类型转换
默认安全的数据类型转换:我们称之为 隐式的数据类型转换,什么是隐式的数据类型转换?隐式的数据类型转换就是数据类型的低范围(参考C#数据类型与变量一中的数据类型的范围)向高范围的数据类型的转换。例如:
运行结果当时会输出:“b = 200”这段话啦!
2.强制的数据类型转换
了解隐式数据类型的转换后,我们在来了解下强制的类型转换,强制类型转换就是,当不满足隐式数据类型转换的规则时,的一种数据类型转换的方法,强制数据类型转换必然会引发一些错误,例如:
将高范围数据类型(简称高)转换低范围数据类型(简称低)时,那么当“高”变量的值,超出了“低”数据类型的范围时,我们简称数据类型溢出。代码如下:
输出结果如下:
二、装箱与拆箱
理解完基本数据类型的转换后我们来看一下值类型与引用类型之间的转换,我们称为装箱与拆箱。
1.装箱
装箱就将值类型转换成引用类型:
在装箱操作时,运行时会在托管堆上分配一个空间,存放a 中的10,并标志这块空间的装箱类型是int。
如图:
2.拆箱
那拆箱就跟装箱相反,就是将引用类型还原会值类型。
当拆箱时我们会将推中的10强制类型转换放到栈空间中(图中代表int b)。
如图
3.装箱与拆箱的作用
当我需要显示的方法,分别来显示 int float double类型的值到控制台。一般我们的设计方法如下:
那么我们思考一下,这个时候我需要在支持 string , short,char等等的类型显示的时候,我们是不是需要对每一个类型都定义一个显示的方法? 此时我们在看看引入了装箱与拆箱概念的方法设计:
这样我们将来不管需要扩展多少数据类型我们这个方法都可以满足。
装箱用于在垃圾回收堆中存储值类型。装箱是值类型到 object 类型或到此值类型所实现的任何接口类型的隐式转换。对值类型装箱会在堆中分配一个对象实例,并将该值复制到新的对象中。
关于C#数据类型与变量就介绍到这,希望上面三篇文章对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们继续自学C#编程教程,在上一课中介绍了C#的基本数据类型以及变量,今天这一节课我们来介绍值类型与引用类型!一、什么是值类型与引用类型?C#与大多数面向对象语
int和float的区别如下: 一、指代不同 1、int:是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。
float和int的区别: 1、指代不同。 int:是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。float
1.任何一门编程语言均有相关数据类型。C#也不例外,其基本数据类型有int,short,long,float,double,string等。数据类型之间可以相互
对于一门编程语言,肯定包含变量和数据类型。今天我们就来看看JavaScript脚本语言的变量和数据类型。相对于其他的Java,C++等高级程序语言,JavaSc