У меня есть следующее:
$p = New-Object PSObject -Property @{PIndex = New-Object System.Collections.ArrayList}
[System.Collections.ArrayList]$pa = @($p) * 5
Я хочу, чтобы массив $ pa (содержащий объект $ p) имел фиксированный размер. Пока все выглядит хорошо. Но когда я добавляю элементы в PIndex одного члена массива $ pa, он добавляет те же элементы ко всем остальным членам $ pa.
Итак, я делаю это:
$pa[0].PIndex.Add(2)
Давайте проверим:
PS C:\Users> $pa[0].PIndex
2
PS C:\Users> $pa[1].PIndex
2
PS C:\Users> $pa[2].PIndex
2
И так далее. Просто хочу добавить элементы в массив PIndex $ pa [0]. Почему это также добавляет к другим членам? Я пропускаю синтаксис?
Тип выглядит отлично:
PS C:\Users> $pa.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True ArrayList System.Object
Спасибо ..