Wie Hänge ein element an ein array in der Powershell?
Den Powershell-code:
$list += "aa"
fügt das element "aa", um die Liste $Liste. Gibt es eine Möglichkeit voranstellen eines Elements? Dies ist meine Lösung, aber es muss ein Weg, dies zu tun in einer einzigen Zeile.
$tmp = ,"aa";
$tmp += $list
$list = $tmp
InformationsquelleAutor der Frage Nestor | 2010-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
In deinem Beispiel oben, Sie sollte nur in der Lage sein zu tun:
Wird einfach anfügen von "aa" auf der Liste und machen das 0. element. Überprüfen, indem man
$list[0]
.InformationsquelleAutor der Antwort nithins
Mit
+=
und+
auf arrays in PowerShell ist eine Kopie des Arrays, jedes mal Sie es verwenden. Das ist in Ordnung, es sei denn, die Liste/array ist wirklich groß. In diesem Fall sollten Sie die Verwendung eines generischen Liste:Beachten Sie, dass in diesem Szenario müssen Sie die Verwendung des Add/Insert-Methoden. Wenn Sie zurückgreifen, um mit
+=
wird, kopiert die generische Liste zurück auf eineobject[]
.InformationsquelleAutor der Antwort Keith Hill
Diese verbindet zwei arrays in eine.
Es ist unmöglich zu tun, eine Reine voranstellen, in ein PowerShell-array, da PowerShell arrays fester Länge. Kombinieren von zwei arrays in one ist ein guter Ansatz.
InformationsquelleAutor der Antwort Shaun Luttin
Wenn Sie passieren wollen, dies zu tun, ist ein "Objekt" array statt 'String', fand ich das folgende für sinnvoll:
Offensichtlich wäre diese relativ langsam für ein gigantisches array.
InformationsquelleAutor der Antwort ScriptMonkey