我正在使用一个在构造期间动态分配数组的类,如下所示:
class HeightMap
{
private int width;
private int height;
private ulong numPixels;
private float[,] value;
public HeightMap(int width, int height)
{
if (width <= 0) throw new Exception("Invalid Dimension: Width");
if (height <= 0) throw new Exception("Invalid Dimension: Height");
// Make sure there is an uneven width and height (for allowing diamond square algorithm)
if ((width % 2) == 0) width++;
if ((height % 2) == 0) height++;
this.numPixels = (ulong)(width * height);
this.width = width;
this.height = height;
this.value = new float[width, height];
}
}
我是否需要实施IDisposable
以在销毁时释放value
数组,或者在对象失效时自动处理? [构造函数中这种分配方法可能还有什么问题吗?]
答案 0 :(得分:2)
您通过托管代码分配内存。你不必担心它。
答案 1 :(得分:1)
您无需使用IDisposable。它们通常与非托管代码一起使用。垃圾收集器将负责您的对象处理。