本文目录
别名为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 吧!
肯定还是有点小困难吧,不然的化也不至于,整了个这么奇葩的方法。