引用类型和值类型
值类型
整型:int;浮点型:float;字符型:char;布尔型:bool;枚举:enum;结构:struct
值类型声明后,编辑器为其分配内存。
值类型的变量直接存储数据
主要功能
值类型的变量包含值,托管在栈中。将一个值类型变量赋值给另一个变量时,将复制包含的值。(值类型无法包含null值!)
注意:不能从值类型派生出新的类型。
每种值类型均有一个默认的构造函数来初始化
引用类型
数组,接口,类,委托
它的作用是为变量起一个别名,
例子:
int a;
int &b=a;
意思:b是a的引用,经过这样的声明后,a或b的作用域相同。
数据存储在数据堆中
主要功能
传递函数的参数和返回值
区别
相同点:可以实现接口(都继承自System.Object类)
不同点:1.类型不同
2.内存分配不同
3.使用场合不同(值类型在内存管理方面效率更高)值类型不支持多态,引用类型支持多态,适用于定义应用程序的行为。