我正在探索一个PSCustomObject和PowerShell ISE自动完成给我看一些有趣的东西,我似乎找不到更多关于它的信息。
如果您有一个包含PSCustomObject的变量,那么似乎有一个不易找到的过滤方法。
这种过滤方法是否比使用管道和Where-Object更快?
$CusomObject.Where({$_ -like '*hidden*'})使用$CustomObject | Get-Member -Force不会列出此重载。我找到了在这里引用此重载,但在我的搜索中似乎找不到它的很多用处。

发布于 2016-04-04 05:59:31
这似乎只是执行一个脚本块,并确认返回为True。从有限测试的地方是更快(~1秒)对一个PS对象。注:秒表可能不准确。Where-Object拥有文档并比ForEach对象执行得更快。BeWhere - PSv4。
哪里脚本块
write-host "Started at $(get-date)"
$j = $i.Where({$_ -like "*"})
write-host "Ended at $(get-date)"
write-host "Total Elapsed Time: $($elapsed.Elapsed.ToString())"00:00:00.0309266
$elapsed = [System.Diagnostics.Stopwatch]::StartNew()
write-host "Started at $(get-date)"
$j = $i | %{$_ -like "*"}
write-host "Ended at $(get-date)"
write-host "Total Elapsed Time: $($elapsed.Elapsed.ToString())"00:00:01.0555753
$elapsed = [System.Diagnostics.Stopwatch]::StartNew()
write-host "Started at $(get-date)"
$j = $i | ?{$_ -like "*"}
write-host "Ended at $(get-date)"
write-host "Total Elapsed Time: $($elapsed.Elapsed.ToString())"00:00:00.0348174
https://stackoverflow.com/questions/36392593
复制相似问题