一、析构函数
析构函数用于在类销毁之前释放类实例所使用的托管和非托管资源。
try {抛出异常 } catch {异常的处理机制} 析构函数:~Person(){}
1、不能在结构体中定义析构函数,只能在类中。
2、一个类只能有一个
3、无法继承或者重载析构函数
4、无法显示的调用析构函数,由垃圾回收器自动调用。
5、析构函数既没有修饰符也没有参数。
二、索引器
索引器的适用简化了对类中数组成员的访问。
格式如下
[修饰符] 数据类型 this [索引类型index]
{
get{}
set{}
}
三、结构体
结构体是值类型。
1、在main函数中调用时不能new。
结构类型可以有实例构造函数和静态构造函数,但不能有析构函数。
实例构造函数:
当中的默认构造函数无论是否重新定义,都不会消失,与类不同。
静态构造函数:
作用:初始化静态数据成员。
其特点如下:
1、静态构造函数不能有访问修饰符和参数。
2、静态构造函数不能访问实例成员。
3、静态构造涵数无法直接进行调用。
四、类和结构体的区别:
①、类定义使用class,结构体使用struct
②、结构体中不可对声明的字段进行初始化,类可以。
③、结构体中,无论我们有没有定义构造函数,隐式的构造函数一直存在。
④、结构体不能显示的定义无参数的构造函数。
⑤、结构体构造函数必须为所有的字段赋值。
⑥、创建结构体对象可以不使用new,类必须使用。
⑦、结构体不能继承结构或者类,但可以实现结构;类可以继承类,但不能继承结构,可以实现接口。
8、类是引用类型,结1构体是值类型。
9、结构体不能定义析构函数,类可以,
10,不能使用abstract或者sealed修饰结构体,而类可以。