大家在平时的工作中对类的使用应该是比较多的,但是在结构使用方面可能稍微少点,这里我就总结一下结构和类的一些异同之处,如有错误之处,还请指正。
- 结构是值类型,类是引用类型,结构通常用来封装小型相关变量组(DateTime类型就是一种结构类型);
- 结构不可申明无参构造函数而类是可以的,但是结构可以申明有参构造函数,这个和类是相同的;
- 结构不可以定义析构函数,而类是可以定义析构函数;
- 可使用new创建结构对象,也可不使用new运算符;如果不是使用new运算符,结构中的字段应该都被赋值,不然不能使用;
- 结构不可以继承其他结构或者类,所以结构中的成员不可设置为protected,同样结构也不可以作为其他结构或类的基础结构,但是结构可以实现一个或多个接口;
参考: https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/structs