作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我确信发生这种情况是有正当理由的,但我不知道它是什么。我有以下代码
$Deleted = $Items[0].ParentNode.RemoveChild($Items[0])
Write-Output $Deleted
Do-Something -OutVariable Test
ArraryList
具有类型为
XmlElement
的单个元素
$Test = Do-Something
XmlElement
类型的单个对象
OutVariable
返回
ArrayList
而不是返回函数返回的单个项目?
最佳答案
从 PowerShell [Core] 7.0 开始:
-OutVariable
:也就是说,即使一个命令只输出一个对象,该对象也会意外地作为一个数组(数组列表)存储在目标变量中,其名称被传递给公共(public)参数-OutVariable
参数(或其别名 -ov
)。 [System.Collections.ArrayList]
, 数组列表 ,即 不一致通过 在变量中捕获多对象输出常规作业 ,结果为 System.Object[]
, 一个正则数组 . $null = Get-Date -OutVariable ov; $ov.GetType().FullName
System.Collections.ArrayList
[datetime]
(
[System.DateTime]
) 实例。
$v = Get-Date; $v.GetType().FullName
产量
System.DateTime
.
$(...)
)中,它为您提供与通过常规输出(成功)流相同的输出:
System.Object[]
返回大批。 # Note the $(...) around $ov
PS> $null = Get-Date -OutVariable ov; $($ov).GetType().FullName
System.DateTime # 1-element System.Collections.ArrayList unwrapped
$ov[0]
如果您只期望一个输出对象。
PS> $null = Get-ChildItem / -OutVariable ov; $($ov).GetType().FullName
System.Object[] # multi-element System.Collections.ArrayList converted to array
关于powershell - 使用 OutVariable 创建 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666291/
我确信发生这种情况是有正当理由的,但我不知道它是什么。我有以下代码 $Deleted = $Items[0].ParentNode.RemoveChild($Items[0]) Write-Outpu
我是一名优秀的程序员,十分优秀!