我使用的是Powershell版本7.4.6
我不明白这种行为。
我有一个正则表达式
$r = New-Object System.Text.RegularExpressions.Regex "a+"
当我运行它时
( 'a', 'aa', 'aaa', 'b' ) | ForEach-Object { $r.isMatch( $_ ) }
我得到了预期的结果:
True
True
True
False
但是如果我尝试使用
-Parallel
运行它,例如:
( 'a', 'aa', 'aaa', 'b' ) | ForEach-Object -Parallel { $r.isMatch( $_ ) }
我惊讶地得到:
InvalidOperation: You cannot call a method on a null-valued expression.
InvalidOperation: You cannot call a method on a null-valued expression.
InvalidOperation: You cannot call a method on a null-valued expression.
InvalidOperation: You cannot call a method on a null-valued expression.
为什么