2010-01-27 58 views
24

có cách nào để ngăn chặn giá trị trả về (= Chỉ mục) của một ArrayList trong Powershell (sử dụng System.Collections.ArrayList) hay tôi nên sử dụng một lớp khác?Ngăn chặn ArrayList.Add() trả về chỉ mục

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

cảm ơn trước MILDE

Trả lời

44

Bạn có thể đúc để làm mất hiệu lực để bỏ qua các giá trị trả về từ phương thức Add:

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

lựa chọn khác là để chuyển hướng đến $ null:

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

Cảm ơn bạn, nó hoạt động hoàn hảo. "Câu trả lời dễ dàng" cho bạn, nhưng tôi vẫn đang học :) – Milde

+0

Tôi đã xóa nhận xét đó vì nhận xét đó có vẻ lén lút - điều đó không có nghĩa như vậy. Tôi sẽ đưa ra một câu trả lời ngắn/dễ dàng trước và sau đó đi sâu vào nó một số chi tiết nhưng sau đó quyết định nó không cần thiết. –

8

Hai tùy chọn khác :)

Ống dẫn ngoài không có

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

Gán kết quả đến $ null:

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

+0

Bạn có thể nói về hiệu quả của đường ống đến Out-Null so với> $ null hoặc gán cho $ null so với truyền tới [void] không? Điều nào trong số bốn yếu tố này hiệu quả nhất? – AlwaysQuestioning

+0

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

Các vấn đề liên quan