【发布时间】:2011-09-08 02:53:18
【问题描述】:
我正在阅读 XNA 库代码,在 VertexPositionColor 类型中,它们以“每次使用时克隆数组的性能成本太高”为由压制了 CA2105:ArrayFieldsShouldNotBeReadOnly 消息。
public struct VertexPositionColor
{
public static readonly VertexElement [ ] VertexElements;
}
但是为什么在使用的时候会被复制呢?这只发生在访问的属性/字段是 ValueType 的结构中,对吧?
【问题讨论】:
-
嗯,它是一个游戏开发库——性能胜过严格遵循设计规则。他们还改变了这个功能的设计in XNA 4.0。
-
我知道 perf 更重要,但我不知道这如何通过访问数组来制作副本。
标签: c# .net arrays performance xna