如何在Powershell中优化多个if语句?

Ade*_*SIF 1 powershell powershell-4.0

这是我的代码:

Function CleanUpOracle 
{

    if ($Requete)
    {
        $Requete.Dispose()
    }

    if ($ExecuteRequete)
    {
        $ExecuteRequete.Dispose()
    }

    if ($Transaction)
    {
        $Transaction.Dispose()
    }

    if ($OracleConnexion)
    {
        $OracleConnexion.close()
        $OracleConnexion.Dispose()
    }

    if ($Log.id)
    {

        $Log.PSObject.Properties.Remove('id')

    }

}
Run Code Online (Sandbox Code Playgroud)

我正在测试是否存在变量 {do something}

但是在将来我会测试很多变量,我不想拥有数百行.

我该如何优化呢?也许用开关但怎么样?

谢谢 !

Sea*_*ean 5

如果要有条件地调用Dispose多个项目,可以将它们从列表流式传输到ForEach-Object(其别名为%):

@($Requete, $ExecuteRequete, $Transaction, $OracleConnexion) |
% {if($_) {$_.Dispose()} }
Run Code Online (Sandbox Code Playgroud)

注意:为了便于阅读,我将其拆分为多行.