我不打算在这个问题上开始[另一场]内战,但是否应该强制执行无效?
在尝试修复错误时(其他方面已经修复了,可以看作是here),我在几个地方添加了这样的代码,立即将一些对象显式设置为null:
List<String> XMLFiles = CCRUtils.GetXMLFiles(fileType, @"\");
foreach (string fullXMLFilePath in XMLFiles)
{
RESTfulMethods.SendXMLFile(fullXMLFilePath, uri, 500);
}
XMLFiles = null;
既然我知道我没有解决我遇到的问题,我应该离开它,还是删除这类代码?
答案 0 :(得分:4)
是否应该强制执行无效?
一般来说,它不应该。在极少数情况下,有理由将变量设置为null。只要声明变量的作用域结束,就不再保留对该对象的引用。
使用后将变量设置为null
(几乎)总是只是误解了GC的工作原理,并没有任何用处。