结构和类有什么异同

2023-07-06   


类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。
   结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。
   如何选择使用结构还是类:
   a)堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
   b)结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
   c)在表现抽象和多级别的对象层次时,类是最好的选择
   d)大多数情况下该类型只是一些数据时,结构是最佳的选择


相关内容:

  1. 一篇.NET面试题
  2. 南京嘉环笔试题
  3. .NET概念性的面试题
  4. .NET概念性的面试题
  5. 类和结构的区别
  6. C#中类(class)与结构(struct)的异同