c#---值类型和引用类型

前言

  今天我们来学习一下什么是值类型和引用类型。

类别

  这里写图片描述

区别

  1.值类型的值存在栈上,引用类型栈上存的是地址,值在堆上
  2.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身
  3.装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型,利用装箱和拆箱功能,可通过允许值类型的任何值与引用类型的值相互转换,将值类型和引用类型连接起来。

类和结构

  类是引用类型;类当中有一个默认的无参数的构造函数,当在类中写一个有参数的构造函数,默认的无参数的构造函数就被干掉了;类中写构造函数参数列表中参数个数可以不确定;

  结构是值类型;在结构中也有默认的一个无参数的构造函数,当在结构中写一个有参数的构造函数,默认的无参数的构造函数还有,没有被干掉;在结构中写构造函数,要把所有的字段完全赋值。

总结

  掌握值类型和引用类型的区别。

猜你喜欢

转载自blog.csdn.net/m0_37508531/article/details/80305459