标签: .net performance struct clr
许多人在SO和互联网上一般回答"为什么结构要小?"是指表现,但没有一个解释为什么。有人可以对此有所了解吗?
答案 0 :(得分:2)
Struct是一种值类型,当它被传递给函数时 - 它被复制了。因此,如果struct的大小为512位 - 将复制所有512位。如果您将传递引用类型 - 将仅复制对这512位的32/64位引用。来自MSDN
接下来,引用类型赋值会复制引用,而值类型赋值会复制整个值。因此,大型参考类型的分配比大型类型的分配便宜。