use*_*005 22 arrays powershell
鉴于这是有效的:
$ar = @()
$ar -is [Array]
True
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
function test {
$arr = @()
return $arr
}
$ar = test
$ar -is [Array]
False
Run Code Online (Sandbox Code Playgroud)
也就是说,为什么测试函数不返回空数组呢?
Ans*_*ers 28
您的函数不起作用,因为PowerShell返回所有未捕获的流输出,而不仅仅是return语句的参数.$null在此过程中,一个空数组被破坏.但是,您可以通过在数组构造运算符(,)前面添加数组来保留数组:
function test {
$arr = @()
return ,$arr
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4050 次 |
| 最近记录: |