是否有必要这样做poly = null; ?完成该功能后,垃圾收集器将清理或清除?
这里有个简单的例子:
public void redrawSingelPoly(Canvas canvas)
{
Polyline poly = new Polyline();
poly.Stroke = colorBrush;
poly.StrokeThickness = basicLineThick;
poly.Points = points;
canvas.Children.Add(poly);
poly = null; //Garbage Collector
}
最佳答案
您的多边形对象不会在您的示例中被垃圾回收。这就是为什么
您正在执行以下操作...
canvas.Children.Add(poly);
保留对对象的引用。即使您将本地引用设置为该对象= null,也仍然存在该方法的引用!
垃圾收集器仅收集无法到达的对象。
话虽这么说-是否有必要设置poly = null?不,没有必要。
关于c# - C#:垃圾收集器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17300107/