在上一篇文章中我们谈到某群友感觉ForEach-Object速度比For循环快,事情并非绝对。但是写起来,ForEach-Object肯定比For快,我相信大家无异议。当集合元素已知时,For比ForEach快。这和C#中的结果一致,我们随便写几行脚本来测试,测试结果如下:
而ForEach更多的使用在集合的迭代和流模式的管道中,比如你要递归处理C盘下所有的文件,如果使用For循环先得把结果保存起来吧,暂且不论结果对空间的消耗,单从时间上说,保存结果得遍历一遍,For里面的处理得遍历一遍,这一前一后,2个N就出来了。但是如果使用ForEach的化,一遍搞定。这同样的也牵扯到了管道的两种模式。
本文链接: https://www.pstips.net/for-vs-foreach.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
广播: 从 ForEach-Object的管道中获取前一个元素 | PowerShell 中文博客