Keep on going never give up.

Let's Go

C# 学习笔记(27)类与结构体的区别

C#Lonely2019-05-10 10:10:1041次0条

类与结构体的区别

1、语法上的区别在于:定义类要使用关键字class,而定义结构体则要使用关键字struct。

2、结构体中不能对声明字段进行初始化,但类可以。

3、如果没有为类显式地定义构造函数,C#编译器会自动生成一个无参的实例构造函数,我们称之为隐式构造函数;而我们为类显式地定义了一个构造函数,C#编译器就不会再自动生成隐式构造函数了。与此不同的是,在结构体中,无论你是否显式地定义了构造函数,隐式构造函数都是一直存在的。

4、结构体中不能显式地定义无参数的构造函数,这也说明无参数构造函数是一直存在的,所以不能再显式地为结构体添加一个无参的构造函数;而类中则可以显式地定义一个无参数的构造函数。

5、在结构体的构造函数中,必须要为结构体中的所有字段赋值。

6、创建结构体对象可以不使用new关键字,但此时结构体对象中的字段是没有初始值的;而类必须使用new关键字来创建对象。

7、结构体不能继承结构或类,但可以实现接口;而类可以继承类但不能继承结构,类也可以实现接口。

8、类是引用类型,而结构体是值类型。

9、结构体不能定义析构函数,而类可以有析构函数。

10、结构体不能使用abstract和sealed关键字来修饰,而类可以。

为了更好地理解类和结构体的区别,文章传送门:https://blog.csdn.net/liujunjie612/article/details/71123606




暗锚,解决锚点偏移

文章评论

    嘿,来试试登录吧!