首页 > 解决方案 > 在 Powershell 中修改 ArrayList 也会修改原来的数组

问题描述

这里有一段简单的代码......

$array = @()
$numbers = 1..5
foreach ($number in $numbers) {
    $info = "" | select number,result,test
    $info.number = $number
    $info.result = $number.ToString() + "-result"
    $array+=$info
    $info
}

[System.Collections.ArrayList]$arraylist = $array
$arraylist[0].test = "true"

但是,每当我修改上面的 $arraylist[0] 时,它也会修改 $array[0]

PS C:\Users\testuser> $array[0]

number result   test
------ ------   ----
     1 1-result true

PS C:\Users\testuser> $arraylist[0]

number result   test
------ ------   ----
     1 1-result true

我怎样才能阻止这种情况发生?我想保持原始数组不变,只修改 ArrayList?

标签: arrayspowershellarraylist

解决方案


推荐阅读