2010-01-27 8 views
24

¿hay alguna forma de suprimir el valor de retorno (= Índice) de una ArrayList en Powershell (utilizando System.Collections.ArrayList) o debería usar otra clase?Evitar que ArrayList.Add() devuelva el índice

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

gracias de antemano Milde

Respuesta

44

Puedes lanzar a anular ignorar el valor de retorno del método Add:

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

Otra opción es volver a dirigir a $ nulo:

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

Gracias, funciona perfectamente. "Respuesta fácil" para usted, pero todavía estoy aprendiendo :) – Milde

+0

Quité ese comentario porque parecía sarcástico, no era así. Iba a dar primero una respuesta corta/fácil y luego profundizar en ella un poco más, pero luego decidí que no era necesario. –

8

Dos opciones más :)

Canalizar a cero

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

asignar el resultado a $ nulo:

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

+0

¿Se puede hablar de la eficiencia de la conexión a Out-Null versus> $ null, o asignando $ null versus casting a [void]? ¿Cuál de estos cuatro es más eficiente? – AlwaysQuestioning

+0

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

Cuestiones relacionadas