P6 、7类型、变量与对象 [上、下]
1、C#语言类型系统
2、变量、对象、内存
1、C#语言类型系统
1)五类:结构体Structures、枚举Enumerations、类Classes、接口Interfaces、委托Delegates
–声明定义方法:struct、enum、class、interface、delegate
2)基类 Object(分类标准:两种类型在内存当中的存储不同)
–引用类型:结构体、枚举
–值类型:类、接口、委托
2、变量、对象、内存
1)变量表面含义:存储数据的地方
2)变量实际含义:变量表示了存储位置;每个变量有一个类型可以决定什么值可存入变量中
3)变量种类:静态变量、实际变量、值变量、数组元素、值参数、引用参数(在值变量前加ref)、输出参数(在值变量前加out)、局部变量(本地变量)
4)侠义变量
–局部变量:在函数体中声明的变量
5)变量声明:有效修饰符组合+类型+变量名+初始化器
–public static(有效修饰符组合) int(类型) Amount (变量名)= 0(初始化器);
6)值类型变量
–在内存中存储方式 举例说明
7)引用类型变量与实例的关系:
–引用类型变量存储的数据是对象的内存地址
–在内存中存储方式 举例说明
8)局部变量在栈上分配内存;实例变量在堆上分配内存 举例
9)变量的默认值
10)常量
11)装箱&拆箱(会损失程序性能)
–装箱:栈上的值类型值封装成object实例放在堆上
–拆箱:放在堆上的object实例拆成目标值类型放在栈上