【问题标题】:Why POCO objects are created using classes instead of structs [duplicate]为什么使用类而不是结构创建 POCO 对象 [重复]
【发布时间】:2019-02-02 02:18:43
【问题描述】:

为什么在 C# 中 POCO 对象是使用类而不是结构创建的,而 POCO 旨在仅携带公共属性而不携带任何行为?

我们真的需要创建一个带有 get 和 set 访问器的类吗?我认为结构体可以更简洁地携带对象的状态。

【问题讨论】:

  • 您可能还想阅读stackoverflow.com/questions/441309/why-are-mutable-structs-evil(它解释了与“结构会更干净”声明相反的观点)
  • 简单的答案是,在 .NET 中,strutcs 是值类型。它们在堆栈上是高性能的,但是当您尝试将它们用作数据持有者并将它们从一个上下文传递到另一个上下文或从一个类中引用它们时,需要装箱才能将它们移动到堆上。装箱效率低,因此首选类,因为它们位于堆上并且不受装箱的影响。

标签: c# class struct poco


【解决方案1】:

在C#中,struct type是一个值,所以看起来不是一个好的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2021-09-07
    • 2014-08-05
    相关资源
    最近更新 更多