PowerShell Удалить элемент [0] из массива
Я немного пытаюсь удалить первую строку (идентификатор элемента) массива.
$test.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
Чтобы перечислить все варианты, которые я пытался,$test | gm
и в нем четко говорится:
Remove Method void IList.Remove(System.Object value)
RemoveAt Method void IList.RemoveAt(int index)
Поэтому, когда я пытаюсь$test.RemoveAt(0)
Я получаю ошибку:
Exception calling "RemoveAt" with "1" argument(s): "Collection was of a fixed size."At line:1 char:1
+ $test.RemoveAt(1)
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : NotSupportedException
Итак, я наконец-то нашелВот что мой массив должен быть типаSystem.Object
быть в состоянии использовать$test.RemoveAt(0)
, Рекомендуется ли объявлять все массивы в начале скрипта в виде списка? Или лучше конвертировать массивы с$collection = ({$test}.Invoke())
к списку позже, когда эта функциональность необходима?
Каковы плюсы и минусы обоих типов? Спасибо за помощь.