【发布时间】:2023-04-08 20:02:01
【问题描述】:
我正在用 C# 创建一个几何库,我需要以下 不可变 类型:
-
Vector2f(2floats - 8 个字节) -
Vector2d(2doubles - 16 字节) -
Vector3f(3floats - 12 字节) -
Vector3d(3doubles - 24 字节) -
Vector4f(4floats - 16 字节) -
Vector4d(4doubles - 32 字节)
我正在尝试确定是使它们成为结构还是类。 MSDN 建议仅在大小不超过 16 个字节时才使用结构。该参考似乎来自 2005 年。16 字节仍然是建议的最大大小吗?
我确信将结构用于float 向量会比使用类更有效,但我应该如何处理double 向量?我应该让它们的结构也保持一致,还是应该让它们成为类?
更新: 看起来每个人都同意他们应该是结构。感谢您的精彩回答。
【问题讨论】:
-
如果你在做 OpenGL 的东西,就用 OpenTK
标签: c# class struct performance size