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()) к списку позже, когда эта функциональность необходима?

Каковы плюсы и минусы обоих типов? Спасибо за помощь.

Ответы на вопрос(8)

Ваш ответ на вопрос