结构体和类区别
结构体和类有很多地方很相似,是类的一种轻量级的替代品。因此弄清楚他们的区别和相同点,能比较好的把握他们的使用。
比较:
比较内容 | 结构 | 类 |
构造函数 | 支持(不能自定义,默认提供,作用是将所有的数据成员置零) | 支持(能自定义) |
析构函数 | 不支持 | 支持 |
变量初始化 | 不支持(private int num = 50 是错误的) | 支持 |
继承 | 不支持(sealed类型) | 支持 |
接口 | 可以实现多个接口 | 可以实现多个接口 |
特性 | 支持 | 支持 |
属性 | 支持 | 支持 |
方法 | 支持 | 支持 |
类型 | 值类型 | 引用类型 |
Summary:
1:结构体隐式地从Obeject派生出来
2:从类型的区别可以看出:
结构体数组效率比类数组效率高(不需要装箱合拆箱)。结构体集合(如Hashtable)效率比类集合效率低。集合的元素是引用类型,所以结构体必须进行装箱和拆箱处理。所以类在大的集合中更有效率。