黑马程序员:值类型和引用类型

时间:2021-12-28 20:57:51

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

 

一丶值类型和引用类型的区别:

1.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

2.值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结构也可以实现接口。

3.值类型不可能包含 null 值:

4.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

二丶常见的值类型和引用类型有:

值类型有:int 整形;doubl float char bool 枚举类型 struct结构类型,都是值类型

引用类型:类 借口 数组

四丶两种类型的存储

声明一个值类型变量,编译器会在栈上分配一个空间,这个空间对应着该值类型变量,空间里存储的就是该变量的值。引用类型的实例分配在堆上,新建一引用类型实例,得到的变量值对应的是该实例的内存分配地址。

值你拿来就可以用,而引用类型需要在堆中开辟空间,在栈中分配地址,用的时候要调用地址,而不是那个引用类型的值。

 

 ---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------