这适用于.NET.我正在寻找一个空间映射应用程序.内存中将同时存在多个多边形(大约30-50个多边形).每个polgon都有一系列LatLong点.每个多边形的集合范围可以从10到200.但是,有很多计算将使用这些点来完成,这就是为什么(为了性能)我想让LatLong成为一个结构.但是我厌倦了大量的LatLong会在内存中.对此的任何见解将不胜感激.回顾一下:我想知道我是否将LatLong作为一个结构,因为我想要计算性能,或者一个类,因为将在内存中的latLongs数量为1.
Jus*_*gan 10
答案取决于您的资源优先级,类/结构中的内容以及您如何使用它.我建议你弄清楚你的内存/性能资源是什么样的,然后对这两个实现进行大量测试,看看它们如何适应这些资源参数.如果可能,尝试测试您希望执行的实际操作.
MSDN还提供了关于何时何何不使用结构的一些很好的指导.来自文章:
除非类型具有以下所有特征,否则不要定义结构:
- 它逻辑上表示单个值,类似于基本类型(整数,双精度等).
- 它的实例大小小于16个字节.
- 这是不可改变的.
- 它不必经常装箱.