C# 构造器(构造器链),终结器,对象初始化器

本文介绍了C#中的构造器、终结器和对象初始化器。构造器用于对象实例化,C#编译器会提供默认构造器除非显式定义。在构造器重载时,通过构造器链避免重复代码。终结器定义了对象销毁过程,不同于C++的析构器,它在垃圾回收后执行。对象初始化器是C#3.0引入的特性,简化了成员字段和属性的初始化操作,提高了代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、构造器

1、注意事项

@1、构造器是用来创建对象实例的方法,该方法没有返回类型,访问级别必须为public,方法名必须完全和类名相同。

@2、C#编译器会在编译时自动添加一个默认构造器(不获取参数,什么也不做)。然而,一旦为一个类显式添加了一个构造器,c#编译器就不会再自动提供默认构造器了。

@3、可以显式的定义一个默认构造器,这也许是一种能讲某些字段初始化成特定值的构造器。定义默认构造器只需要声明一个不获取任何参数的构造器。

@4、当一个字段同时在声明时和构造器内部进行了不同的赋值时,字段的最终的值是在构造器内部所赋的值。因为只有字段在声明时被赋值发生后,构造器内部的赋值才会发生。所以,应该避免在同一个类中,既在声明时赋值,又在构造器中赋值。

2、在构造器重载时,使用构造器链避免输入重复代码

上述代码中对Employee对象进行初始化的代码在好几个地方都重复了,所以必须在多个地方进行维护。

为了避免输入重复代码,可以使用this在一个构造器中调用另一个构造器(称为构造器链),它是用构造器初始化器实现的。构造器初始化器会在执行当前构造器的实现之前,判断要调用另外那个构造器

修改后代码如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值