首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PSCustomObject和重载方法

PSCustomObject和重载方法
EN

Stack Overflow用户
提问于 2016-04-03 23:35:44
回答 1查看 131关注 0票数 1

我正在探索一个PSCustomObject和PowerShell ISE自动完成给我看一些有趣的东西,我似乎找不到更多关于它的信息。

如果您有一个包含PSCustomObject的变量,那么似乎有一个不易找到的过滤方法。

这种过滤方法是否比使用管道和Where-Object更快?

代码语言:javascript
复制
$CusomObject.Where({$_ -like '*hidden*'})

使用$CustomObject | Get-Member -Force不会列出此重载。我找到了在这里引用此重载,但在我的搜索中似乎找不到它的很多用处。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-04 05:59:31

这似乎只是执行一个脚本块,并确认返回为True。从有限测试的地方是更快(~1秒)对一个PS对象。注:秒表可能不准确。Where-Object拥有文档并比ForEach对象执行得更快。BeWhere - PSv4。

哪里脚本块

代码语言:javascript
复制
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

ForEach-Object

代码语言:javascript
复制
$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

何地对象

代码语言:javascript
复制
$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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36392593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档