".NET 选择结构体和类之间的区别"

8 浏览
0 Comments

".NET 选择结构体和类之间的区别"

这个问题在此已有答案

重复:何时应该使用结构体而不是类?

想知道有人能否提供一些建议或示例,说明在.NET中何时最好使用结构体或类,反之亦然。

我已经做了一些背景阅读,并了解了两者之间的区别,即结构体存储在堆栈上,类存储在堆上等。但是我还没有找到一些明确的例子,其中一个会比另一个更具有优势。

非常感谢

admin 更改状态以发布 2023年5月22日
0
0 Comments

除非您有非常特定的原因使用struct,否则请使用class。有关具体原因,请参阅关于 Struct 的问题

编辑:使用struct而不是class的一个可能优势是,您永远不会有null实例。请参阅有没有一种方法要求提供给方法的参数不为 null?

0
0 Comments

引用同一问题的一个好答案何时应该使用struct而不是class?):

MSDN给出了答案:选择类和结构之间的选择。

基本上,该页面为您提供了一个包含4项检查内容的清单,并建议除非您的类型符合所有标准,否则要使用类。

除非该类型具有以下所有特征,否则不要定义结构:

  • 逻辑上表示单个值,类似于原始类型(整数,双精度等)。
  • 它具有小于16字节的实例大小。
  • 它是不可变的。
  • 它不必经常收纳。
0