结构体和类区别

结构体和类区别

 

结构体和类有很多地方很相似,是类的一种轻量级的替代品。因此弄清楚他们的区别和相同点,能比较好的把握他们的使用。

比较:

比较内容

结构

构造函数

支持(不能自定义,默认提供,作用是将所有的数据成员置零)

支持(能自定义)

析构函数

不支持

支持

变量初始化

不支持(private int num = 50 是错误的)

支持

继承

不支持(sealed类型)

支持

接口

可以实现多个接口

可以实现多个接口

特性

支持

支持

属性

支持

支持

方法

支持

支持

类型

值类型

引用类型

Summary

1:结构体隐式地从System.ValueType派生出来

2:从类型的区别可以看出:

结构体数组效率比类数组效率高(不需要装箱合拆箱)。结构体集合(如Hashtable)效率比类集合效率低。集合的元素是引用类型,所以结构体必须进行装箱和拆箱处理。所以类在大的集合中更有效率。

原文地址:https://www.cnblogs.com/Leo_wl/p/1761682.html