【发布时间】:2016-03-08 12:26:30
【问题描述】:
On MSDN我读到这个:
避免定义结构,除非该类型具有以下所有特征:[...] 它的实例大小小于 16 字节。
基于this post by Jon Skeet,我得出的结论是,字符串的内存使用量至少为 20 字节。
所以我想知道创建一个带有字符串成员的结构是否被认为是一件好事。我知道 MSDN 上提到的文章指出“避免”而不是“你不能”。话虽如此,我不确定为什么要提出这个 16 字节的限制。
【问题讨论】:
-
String 是一个引用类型。在谈到
struct实例大小时,无论其大小如何,任何引用都将占用 4 或 8 个字节,具体取决于架构。 -
我猜这个副本并不重要,因为根本不关心内存。重复的句柄只有速度