C#基础---类与结构的区别
2017-02-08 本文已影响0人
Sombod_Y
重要区别:
1.不能为Struct声明默认构造器(无参构造器)。编译器总会为Struct自动生成一个默认构造器。若不想使用默认值,必须提供一个初始化所有字段的构造器。
2.Class的实例字段可以在声明时初始化,Struct不可以。
总结:
1.结构 : 值类型
类 : 引用类型
2.结构 : 存储在栈上
类 :存储在堆上
3.结构 :如果声明自己的构造器,编译器仍会生成默认构造器
类 :如果声明自己的构造器,编译器不会生成默认构造器
4.结构: 如果在自定义的构造器中不初始化某个字段,编译器不会自动初始化
类 :如果在自定义的构造器中不初始化某个字段,编译器会自动初始化