| 1.性质不同 class是引用类型,继承自System.Object类
 struct是值类型,继承自System.ValueType类
 2.职能不同
 class于封装行为(方法)
 struct用于存储数据
 3.特性不同
 class支持继承,可以继承类、实现接口
 struct不能继承类,也不能作为其他类的基类,但可以实现接口
 class可以为抽象类,也可以声明抽象方法
 struct不能为抽象,也不能声明抽象函数
 4.实例化方式不同
 class必须使用new关键字实例化
 struct不需要使用new关键字
 5.内存回收机制不同
 class实例由垃圾回收机制来保证内存的回收处理
 struct变量使用完后立即自动解除内存分配
 
 
 鉴于struct占用的是栈空间,效率上会稍高一些,但容量相对较小,可以在存储少量数据时考虑使用
 |