构建PSCustomObject时的PowerShell条件语句
我想在创建PSCustomObject时检查变量的存在性。我有很多对象要查询并收集数据到我的新对象中,所以我不想用“if”语句复制整个代码块,因为我尽量简洁构建PSCustomObject时的PowerShell条件语句,powershell,pscustomobject,Powershell,Pscustomobject,我想在创建PSCustomObject时检查变量的存在性。我有很多对象要查询并收集数据到我的新对象中,所以我不想用“if”语句复制整个代码块,因为我尽量简洁 [array]$newObject += [PSCustomObject][ordered]@{ JitterInterArrival = (if ($_.QoeReport.AudioStreams){$_.QoeReport.AudioStreams[0].JitterInterArrival}else{"N/A"} } 我知道上
[array]$newObject += [PSCustomObject][ordered]@{
JitterInterArrival = (if ($_.QoeReport.AudioStreams){$_.QoeReport.AudioStreams[0].JitterInterArrival}else{"N/A"}
}
我知道上面的块会产生一个错误,即“if”语句无法识别。在定义PSCustomObject时,是否有其他方法包含代码块?您已经非常接近了
[array]$newObject += [PSCustomObject][ordered]@{
JitterInterArrival = $(if ($_.QoeReport.AudioStreams){$_.QoeReport.AudioStreams[0].JitterInterArrival}else{"N/A"})
}
通过用$()
包围它,我们使它成为一个首先执行的子表达式