值类型和引用类型的区别

Posted szmh9192

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值类型和引用类型的区别相关的知识,希望对你有一定的参考价值。

C#中两种数据类型:a值类型 b引用类型

值类型的变量直接包含值,将一个值类型变量赋值给另一个值类型变量时,它将复制包含的值.它与引用类型变量的赋值不同,引用类型变量的赋值只复制对对象的引用,而不会复制对象本身.

所有的值类型都是 隐式派生自System.ValueType,与引用类型不同,值类型不可能派生出新的类型,但与引用类型相同的是,结构也可以实现接口.不同的是值类型不包含null值,可空类型允许将null赋给值类型.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值.

值类型主要有结构(struct)、枚举(enum),结构包含了以下几类:int,double,long,float,decimal,bool,等.

引用类型的变量又称之为对象,以便实际数据的引用,声明引用类型的关键字有:class、interface,delegate,内置的引用类型有:object,string

 

值类型(int,)分配在栈中,

引用类型(string,object,class)分配在堆中

以上是关于值类型和引用类型的区别的主要内容,如果未能解决你的问题,请参考以下文章

值类型和引用类的区别是啥?

值类型和引用类型

值类型和引用类型 区别

C#详解值类型和引用类型区别

值类型和引用类型的区别

Swift - 值类型和引用类型的区别