本文概述
继续声明
在PowerShell中使用Continue语句将程序流返回到最内部循环的顶部。该语句由for, Foreach和while循环控制。
当在循环中执行此语句时, 将跳过继续语句之后在该循环内执行的代码, 并且将开始循环的下一个迭代。它通常用于条件, 以便用户可以针对特定条件跳过某些代码。
例子
示例1:以下示例在while循环中使用continue语句显示从1到10的数字, 而不是5:
PS C:\> $a = 1
PS C:\> while ($a -le 10)
>> {
>> if ($a -eq 5)
>> { $a += 1
>> continue
>> }
>> echo $a
>> $a += 1
>> }
输出
1
2
3
4
6
7
8
9
10
在输出中缺少值5, 因为当条件为true且变量$ a的值是5且变量递增后遇到了continue语句时, 这会使控件在while循环的开头跳转以进行下一次迭代, 跳过当前迭代的语句, 这就是为什么echo命令不会针对当前迭代执行的原因。
示例2:下面的示例使用带有continue语句的do-while循环, 该语句显示10到20之间的值, 不包括15和18。
PS C:\> $a=10
PS C:\> do
>> {
>> if (($a -eq 15) ?or ($a -eq 18))
>> {
>> $a++
>> continue
>> }
>> echo $a
>> $a++
>> } while($a -le 20)
输出
10
11
12
13
14
16
17
19
20
示例3:以下示例使用带有continue语句的for循环:
PS C:\> for ($k=10 ; $k -gt 0;$k--)
>> {
>> if ($k -eq 5)
>> {
>> continue
>> }
>> echo $k
>> }
输出
10
9
8
7
6
4
3
2
1
违约声明
在PowerShell中使用Break语句可立即退出循环。当在switch或loop语句之外使用脚本时, 它也可以用于停止脚本的执行。
例子
示例1:以下示例显示如何使用break语句退出” for”循环:
PS C:\> for($a=1; $a -lt 10; $a++)
>> {
>> if ($a -eq 6)
>> {
>> break
>> }
>> echo $a
>> }
输出
1
2
3
4
5
在此示例中, 当变量$ a的值为6时, break语句退出” for”循环。
示例2:以下示例显示如何使用break语句退出” foreach”循环:
PS C:\> $array="windows", "Linux", "MacOS", "Android"
PS C:\> foreach ($os in $array) {
>> if ($os -eq "MacOS") {
>> break
>> }
>> echo $os }
输出
Windows
Linux
在此示例中, Foreach语句迭代数组$ array的值。每次执行代码块。 ” If”语句前两次求值为False, 并且变量的值显示在PowerShell上。第三次, 执行循环, 但是变量$ array的值等于字符串” MacOS”。此时, 将执行Break语句, 并退出Foreach循环。
示例3:下面的示例显示如何使用break语句退出switch语句:
PS C:\> $num = 2
PS C:\> switch($num)
>> {
>> 1{ echo "value is equal to 1"}
>> 2{ echo " value is equal to 2" ; break }
>> 3{ echo " value is equal to 3" ; break }
>> 2{ echo " value is equal to 2" ; break }
>> }
输出
value is equal to 2
评论前必须登录!
注册