本文目录
别名为Where的Where-Object命令在PowerShell中过滤元素举足轻重,但是在PowerShell 4.0中又新加入了一个基于集合的名为Where的操作符,集过滤与选择为一体,今天就学习一下吧!
定义
.Where({ expression } [, mode [, numberToReturn]])
方法
- Default:表现和Where-Objec类似,返回N个符合条件的元素
- First:返回前N个符合条件的元素
- Last :返回后N个符合条件的元素
- Until:返回N个元素直到满足条件
- SkipUntil:直到找到一个符合条件的元素后,忽略条件返回N个元素 (奇葩指数:三星级)
- Split:返回满足条件的指定N个元素后,再按顺序返回余下的所有元素 (奇葩指数:五星级)
实例
Default
PS> @(1..10).Where( {$_ % 2 -eq 0},'default') 2 4 6 8 10 PS> @(1..10).Where( {$_ % 2 -eq 0},'default',2) 2 4
First
PS I:\> @(1..10).Where( {$_ % 2 -eq 0},'first') 2 PS I:\> @(1..10).Where( {$_ % 2 -eq 0},'first',3) 2 4 6
Last
PS> @(1..10).Where( {$_ % 2 -eq 0},'last') 10 PS> @(1..10).Where( {$_ % 2 -eq 0},'last',2) 8 10
Until
PS> @(1..10).Where( {$_ % 5 -eq 0},'until') 1 2 3 4 PS> @(1..10).Where( {$_ % 5 -eq 0},'until',3) 1 2 3
SkipUntil
PS> @(1..10).Where( { $_ % 3 -eq 0},'SkipUntil' ) 3 4 5 6 7 8 9 10 PS> @(1..10).Where( { $_ % 3 -eq 0},'SkipUntil',3 ) 3 4 5
Split
PS I:\> @(1..10).Where( { $_ % 2 -eq 0},'split' ) 2 4 6 8 10 1 3 5 7 9 PS I:\> @(1..10).Where( { $_ % 2 -eq 0},'split' ,3) 2 4 6 1 3 5 7 8 9 10
本文链接: https://www.pstips.net/where-method.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
直接引入 LINQ 吧!
肯定还是有点小困难吧,不然的化也不至于,整了个这么奇葩的方法。