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.