C#开发人员对PowerShell中作用域的理解

C#开发人员对PowerShell中作用域的理解,powershell,scope,Powershell,Scope,我想知道为什么这不起作用。 我认为我对PowerShell中作用域的理解是错误的,它似乎与c#中的不同 有人能解释一下吗 $SOAPAction在本例中为null,我希望$soap12为true 不工作(返回false) 有效(返回true) 在PowerShell中,作用域用于脚本块(函数)的调用,但不跨语言块 我认为对你来说最好的是阅读。你说的“工作”和“不工作”是什么意思?以上代码的结果是什么?$SoapAction在这两个例子中的价值是什么?@GodEater你是对的,我编辑了我的问题。

我想知道为什么这不起作用。 我认为我对PowerShell中作用域的理解是错误的,它似乎与c#中的不同

有人能解释一下吗

$SOAPAction
在本例中为
null
,我希望
$soap12
true

不工作(返回
false

有效(返回
true


在PowerShell中,作用域用于脚本块(函数)的调用,但不跨语言块


我认为对你来说最好的是阅读。

你说的“工作”和“不工作”是什么意思?以上代码的结果是什么?$SoapAction在这两个例子中的价值是什么?@GodEater你是对的,我编辑了我的问题。你的例子仍然缺少一些东西。这将返回true:
$SOAPAction=$null$soap12=$false;如果($SOAPAction-eq$null){$soap12=$true;}$soap12(等于您的“不工作”版本,但使用初始化的$SOAPAction变量)@LievenKeersmaekers我认为我的脚本中存在与其他代码的相互依赖关系。我会努力找出答案,并更新我的问题。
$soap12 = $false;
if ($SOAPAction -eq $null)
{
    $soap12 = $true;   
}
$soap12
if ($SOAPAction -eq $null)
{
    $soap12 = $true;   
}else
{
    $soap12 = $false;
}
$soap12