通常當新的對象添加到一個數組中,根據經驗你最擔心其性能問題。下面第一個例子將告訴你一個錯誤的操作方法:
代碼如下:Measure-Command {
$ar = @()
for ($x=0; $x -lt 10000; $x++)
{
$ar += $x
}
}
在這個循環中,這個數組通過符號“+=”增加了許多新的對象。這樣做會需要很長時間,因為在你改變其大小時Powershell每次需要去創造一個新的數組。
下面將有一個非常快的辦法—ArrayList,它能夠更好的處理可變數組:
代碼如下:
Measure-Command {
$ar = New-Object -TypeName System.Collections.ArrayList
for ($x=0; $x -lt 10000; $x++)
{
$ar.Add($x)
}
}
同一個事物兩段代碼,第二方法將更效率。
心得:
原來用了這么久PS發現自己一直使用的方法居然不是最好的,看樣子要把PS玩精,歸根還得看你對.NET掌握。
新聞熱點
疑難解答