PowerShell Entfernen Sie Element [0] aus einem Array

Ich habe ein wenig Mühe, die erste Zeile (Item-ID) eines Arrays zu entfernen.

$test.GetType()

IsPublic IsSerial Name                                     BaseType                                                                                                      
-------- -------- ----                                     --------                                                                                                      
True     True     Object[]                                 System.Array

Um alle Optionen aufzulisten, habe ich versucht,$test | gm und es heißt klar:

Remove         Method,                void IList.Remove(System.Object value)                                                                                              
RemoveAt       Method                void IList.RemoveAt(int index)

Also wenn ich es versuche$test.RemoveAt(0) Ich erhalte den Fehler:

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

Also habe ich endlich gefundenHier dass mein Array vom Typ sein mussSystem.Object verwenden können$test.RemoveAt(0). Ist es empfehlenswert, alle Arrays am Anfang des Skripts als Liste zu deklarieren? Oder ist es besser, die Arrays mit zu konvertieren$collection = ({$test}.Invoke()) zu einer Liste später, wenn diese Funktionalität benötigt wird?

Was sind die Vor- und Nachteile beider Typen? Danke für deine Hilfe.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage