在PowerShell中here的文件中有如下有趣的评论:为什么在处理对象后需要将此变量设置为null?
PowerShell powershell = PowerShell.Create();
using (powershell)
{
//...
}
// Even after disposing of the PowerShell object, we still
// need to set the powershell variable to null so that the
// garbage collector can clean it up.
powershell = null;
为什么powershell
需要被设置后设置为null
?
这是一个C#的问题,而不是一个PowerShell的问题。 –
@AnsgarWiechers - 你是对的;但通过检查链接,这是一种奇怪的模式。任何人都可以告诉他们为什么不用'使用(PowerShell powershell = PowerShell.Create()){'?风格偏好? –
对于这种记录来说,这是一种普遍不好的做法,在这种情况下完全不需要。根本不可能产生任何影响,如果可能的话,这将是微不足道的。这个变量实际上应该是在'using'内部创建的,但是即使没有这样做,也没有任何理由将它归零。该方法的其余部分将很快完成*非常*,一旦处置,powershell对象将不会占用大量资源。 – Servy