相同点:语法类似
不同点
•class是引用类型 struct是值类型 class表现为行为;而struct常用于存储数据
•class支持继承,可以继承自类和接口 struct没有继承性 struct支持接口继承
•class可以声明无参构造函数,可以声明析构函数;而struct只能声明带参数构造函数,且不能声明析构函数
•实例化时,class要使用new关键字;而struct可以不使用new关键字
•class可以声明protected成员、virtual成员、sealed成员和override成员;而struct不可以,但是值得注意的是,struct可以重载System.Object的3个虚方法,Equals()、ToString()和GetHashTable()。
•class实例由垃圾回收机制来保证内存的回收处理;而struct变量使用完后立即自动解除内存分配。
•作为参数传递时,class变量是以按址方式传递;而struct变量是以按值方式传递的
|