如何在powershell中转换字符串到对象[]?



我正在尝试将字符串数据类型转换为对象[].

所需格式和所需数据类型:

$demilimitedIds = {/subscriptions/XXX},{/subscriptions/XXX}
echo  $demilimitedIds.GetType().Name  ##datatype of $demilimitedIds is Object[]

我代码:

[System.Collections.Generic.List[System.String]]$IDList = @()
$IDList.Add("/subscriptions/XXX")   
$IDList.Add("/subscriptions/XXX")
$Alist =  '{{{0}}}' -f ($IDList -join '},{') 
echo "%%%%%%%%%%%%%%%"
echo  $Alist.GetType().Name //o/p format of $Alist is String
echo "%%%%%%%%%%%%%%%"

我正在尝试将$IDList转换为所需的格式,类似于$demilimitedIds和相同的Object[]数据类型。

如何将$ list的数据类型从String转换为Object[] ?

仍然不清楚你想要达到什么目的,但是…

# Just create $IDlist as an object:
$IDList = New-Object PSObject           
$IDList.Add("/subscriptions/XXX")   
$IDList.Add("/subscriptions/XXX")

说到这里,你可以使用$IDlist作为输入对象,正如Daniel提到的

或者使用ForEach-Object循环,如

$IDList = [System.Collections.Generic.List[System.String]]::new()
$IDList.Add("/subscriptions/XXX")   
$IDList.Add("/subscriptions/XYZ")
$Alist = $IDList | ForEach-Object {'{{{0}}}' -f $_ }

$ list现在是包含

的字符串数组(Object[])
{/subscriptions/XXX}
{/subscriptions/XYZ}