相关疑难解决方法(0)

何时使用struct?

什么时候应该在C#中使用struct而不是class?我的概念模型是当项只是值类型的集合时使用结构.一种逻辑上将它们组合在一起形成一个有凝聚力的整体的方法.

我在这里遇到了这些规则:

  • 结构应该表示单个值.
  • 结构应具有小于16个字节的内存占用.
  • 创建后不应更改结构.

这些规则有效吗?结构在语义上意味着什么?

c# struct

1347
推荐指数
23
解决办法
26万
查看次数

长寿命对象的结构与类

当你需要拥有非常小的物体时,比如说它包含2个浮动属性,并且你将拥有数百万个不会立即被"摧毁"的物体,结构是更好的选择还是类?

就像在xna中作为库一样,有point3s等作为结构但是如果你需要长时间保持这些值,它会造成性能威胁吗?

.net c# struct class

15
推荐指数
2
解决办法
5061
查看次数

我应该在C#中创建这些向量类或结构

我在C#中创建一个几何库,我将需要以下不可变类型:

  • Vector2f(2 floats - 8字节)
  • Vector2d(2 doubles - 16字节)
  • Vector3f(3 floats - 12字节)
  • Vector3d(3 doubles - 24字节)
  • Vector4f(4 floats - 16字节)
  • Vector4d(4 doubles - 32字节)

我试图确定是否使它们成为结构或类. 如果大小不超过16个字节,MSDN建议仅使用结构.该引用似乎是从2005年开始的.16个字节仍然是最大建议大小?

我确信使用float向量的结构比使用类更有效,但我应该怎么做double向量?我是否应该使它们的结构一致,或者我应该让它们上课?

更新: 看起来每个人都同意他们应该结构化.谢谢你的答案.

c# size performance struct class

8
推荐指数
1
解决办法
2261
查看次数

标签 统计

c# ×3

struct ×3

class ×2

.net ×1

performance ×1

size ×1