powershell函数返回后的内存空间

时间:2017-07-19 20:55:03

标签: powershell memory-management

这是我的powershell功能:

function A
{
  $a = "securestring"
  return $a
}

$b = A
Remove-Variable -Name b -Scope "Local" 

$ b现在不再在内存中了。但是$ a?

1 个答案:

答案 0 :(得分:1)

答案很简单:没有。退出该范围后,其变量消失了。此外,如果你想要$ B来捕获函数的输出,你应该真的做这样的事情:

Function A
{
    "securestring"
}
$B = A
> $B
> securestring
> $B.GetType().Name
> String
Remove-Variable -Name B -Scope 'Local'
> $B
> $B.GetType()
> You cannot call a method on a null-valued expression.

你的例子有点令人费解。