深入C#数据类型
2021-07-17 06:19
值类型:所有的值类型的引用都存储在栈中
值类型赋值原理:在栈上复制的真实值
引用类型:
堆上存储的真实对象本身真实对象的属性
(1)堆上开空间存数据
(2)堆上的内存地址存储到栈空间中
(3)从栈指向堆上的真实对象
对值类型,不同的变量会分配不同的储存空间,并且储存空间中储存的是该变量的值。
赋值操作传递的是变量的值,改变一个变量不会影响另一个变量的值
对引用类型,赋值是把原对象的引用传给另一个引用。对数组而言。
当一个数组引用赋值给另一个数组引用后,这两个引用指向同一个数组,也就是指向同一块储存空间
结构:
结构的定义
语法:
访问修饰符 struct 结构名{//结构体}
@结构中可以有字段,也可以有方法
@定义时,结构中的字段不能被赋初始值
@在不去new 结构类时,不能有属性
@声明结构的对象后,必须给结构所有成员赋初值。
装箱和拆箱
值类型转换为引用类型成为装箱,反之成为拆箱
引用方式参数传递
(基本数据类型,如,整形,浮点型,字符型,bool行及结构属于值类型;数组,接口和类属于引用类型)
使用值方式(不用ref修饰)传递值类型参数时,参数在方法中的修改不会保留
使用值方式(不用ref修饰)传递引用类型参数时,参数在方法中的修改会保留
使用引用方式(用ref修饰)传递值类型或引用类型参数时,参数在方法中的修改都会保留
上一篇:关于win10设置环境变量的问题
下一篇:前端js上传文件后端C#接收文件