struct结构体和class类的异同
不同点 | 相同点 |
---|---|
struct不能有无参数的构造函数,只能有带参数的构造函数;class都可以 | static静态构造函数都支持创建 |
struct不能有~析构函数,;class可以 | 自定义方法函数都可以 |
struct不能有virtual虚函数/protected受保护函数;class类可以 | const在struct和class的使用方法一样 |
struct类型不能是abstract;class类可以 | struct和class都需要new才能访问其中的方法 |
struct内的public全局变量不能在创建时直接赋值,只能在构造函数里赋值;class类都可以 | – |
struct内的readonly全局变量,只能在构造函数里赋值;class都可以 | – |
struct结构体只能继承接口,不能结构体互相继承;class可以(除sealed密封类除外) | – |
struct访问变量,给变量赋值,可直接.访问;class必须实例化才能访问 | – |