将对象添加到Powershell中的容器
我正在尝试向Powershell中的容器添加对象:将对象添加到Powershell中的容器,powershell,Powershell,我正在尝试向Powershell中的容器添加对象: function Person { param ($FirstName, $LastName) $object = [PSCustomObject]@{ a=$FirstName; b=$LastName } return $object } $container = New-Object -TypeName System.Collections.ArrayList $result = Person "Bil
function Person {
param ($FirstName, $LastName)
$object = [PSCustomObject]@{
a=$FirstName;
b=$LastName
}
return $object
}
$container = New-Object -TypeName System.Collections.ArrayList
$result = Person "Billy" "Kid"
[void]$container.Add($result)
[void]$container.Add(Person "Bob" "Hope")
[void]$container.Add({Person "Mad" "Max"})
foreach ($ob in $container) {
Write-Output $ob."a"
}
$container
这一行:
[void]$container.Add($result)
有效,这意味着在foreach循环中打印正确的值。但台词:
[void]$container.Add(Person "Bob" "Hope")
[void]$container.Add({Person "Mad" "Max"})
没有。无法使用函数调用将元素添加到容器中吗?您需要先计算表达式
Person“Bob”“Hope”
,然后才能添加它
您可以像这样轻松地执行此操作:
$container.Add($(Person "Bob" "Hope"))
(注意添加的
$()
)。在这种情况下不需要$。如果您正在进行字符串插值(“hello$(Person“Hope”“Leslie”),您是否绝望了?
),那么这是必要的。