值类型和引用类型的区别
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)分配在堆中
以上是关于值类型和引用类型的区别的主要内容,如果未能解决你的问题,请参考以下文章