给我有类型,其长度和宽度是均匀的,但深度为锯齿状的3D地图:拼合一个三维阵列的体积为对象的一维数组
public class Map<T>
{
T[,][] map;
...
}
什么是最好的方式返回由2D区域定义的体积内的所有类型对象以及该区域内的所有深度的一维数组。
public IEnumerable<T> this[Rectangle area]
{
get {...}
}
或只是
public IEnumerable<T> this[int x, int y, int width, int length]
{
get {...}
}
我诚实地希望一个快速LINQ解决方案,但性能是最好的解决方案视觉优雅:举例如下,我可能有一个数组符号覆盖。返回的扁平数组内的对象的顺序不重要。如果有人有任何建议或经验,请分享你的智慧。
另外,如果有另一个数据结构可以执行我不知道的相同功能,我会很乐意使用它。
如果有关于我的问题的内容不清楚,请询问更多详情。
这个解决方案和LINQ解决方案都很好,这个比LINQ有一个小的性能提升,这就是为什么我给你答案。 – LamdaComplex