2010-01-27 11 views
24

Gibt es eine Möglichkeit, den Rückgabewert (= Index) einer ArrayList in Powershell (mit System.Collections.ArrayList) zu unterdrücken oder sollte ich eine andere Klasse verwenden?Verhindern, dass ArrayList.Add() den Index zurückgibt

$myArrayList = New-Object System.Collections.ArrayList($null) 
$myArrayList.Add("test") 
Output: 0 

Dank im Voraus Milde

Antwort

44

Sie werfen können zum Erlöschen des Rückgabewert der Add-Methode zu ignorieren:

[void]$myArrayList.Add("test") 

Eine weitere Option ist auf $ null zu umleiten:

$myArrayList.Add("test") > $null 
+0

Vielen Dank, es funktioniert perfekt. "Einfache Antwort" für Sie, aber ich lerne immer noch :) – Milde

+0

Ich entfernte diesen Kommentar, weil es snarky erschien - es war nicht so gemeint. Ich wollte zuerst eine kurze/einfache Antwort geben und dann noch ein wenig mehr darüber nachdenken, aber dann entschied ich, dass es nicht notwendig war. –

8

Zwei weitere Optionen :)

Rohr zu out-null

$ myArrayList.Add ("test") | Out-Null

das Ergebnis auf $ null zuordnen:

$ null = $ myArrayList.Add ("test")

+0

Können Sie mit der Effizienz von Piping zu Out-Null versus> $ null sprechen oder mit $ null im Gegensatz zu Casting zu [void]? Welcher dieser vier ist am effizientesten? – AlwaysQuestioning

+0

Siehe http://stackoverflow.com/questions/5260125/whats-the-better-cleaner-way-to-ignore-output-in-powershell –

Verwandte Themen