Skip to main content
 首页 » 编程设计

arrays之PowerShell不会将空数组作为数组返回

2025年02月15日25zhwl

鉴于这可行:

$ar = @() 
$ar -is [Array] 
  True 

为什么不起作用?
function test { 
    $arr = @() 
    return $arr 
} 
 
$ar = test 
$ar -is [Array] 
  False 

也就是说,为什么没有从测试函数返回空数组?

请您参考如下方法:

您的函数不起作用,因为PowerShell返回所有non-captured stream output,而不仅仅是return语句的参数。在此过程中,将一个空数组整理成$null。但是,您可以通过prepending it with the array construction operator(,)返回时保留一个数组:

function test { 
  $arr = @() 
  return ,$arr 
}