小值对象的结构与类 问题: 您计划创建100,000 个小对象,每个对象都有几种值类型。您应该对这些对象使用结构还是类?值得注意的是,某些对象可能有验证方法。 答案: 性能: 测量: 进行性能测试以确定哪种方法(结构或类)对于您的特定情况更快场景。 因素: 结构使用较少的内存,但复制可能需要更长的时间,而类使用更多的内存,但复制速度可能更快。考虑您的性能要求。 架构: 不可变值:结构更适合具有有限的不可变值对象功能。类更适合需要行为的可变对象。 验证:如果验证至关重要,类通过方法提供更灵活的机制。 垃圾收集: 堆栈与堆栈堆: 堆栈上的对象被视为活动堆对象,用于确定活动集,但不用于堆压缩。垃圾收集器对它们的处理方式不同。 建议: 通常,对于不可变、功能有限的小值对象,结构体是首选被大量创造。类适合具有复杂功能、可变字段或需要验证的对象。