about_Continue
Kısa açıklama
deyiminin program akışını bir program döngüsünün continue
, switch
deyiminin veya trap
deyiminin en üstüne nasıl hemen döndürdüğü açıklanır.
Uzun açıklama
deyimi, continue
tam olarak çıkmak yerine geçerli denetim bloğundan çıkmak ancak yürütmeye devam etmek için bir yol sağlar. deyimi etiketleri destekler.
Etiket, betikteki bir deyime atadığınız addır.
Döngülerde devam et'i kullanma
Etiketsiz continue
bir deyim, program akışını hemen , for
, foreach
do
veya while
deyimi tarafından denetlenen en içteki döngünün en üstüne döndürür. Döngünün geçerli yinelemesi sonlandırılır ve döngü sonraki yinelemeyle devam eder.
Aşağıdaki örnekte, değişken 5'e eşitse program akışı döngünün while
$ctr
en üstüne döner. Sonuç olarak, 5 dışında 1 ile 10 arasındaki tüm sayılar görüntülenir:
while ($ctr -lt 10)
{
$ctr += 1
if ($ctr -eq 5)
{
continue
}
Write-Host -Object $ctr
}
Döngü for
kullanılırken yürütme deyiminde <Repeat>
devam eder ve ardından test devam eder <Condition>
. Aşağıdaki örnekte, değerinin azalması $i
anahtar sözcüğünden sonra continue
gerçekleştiğinden sonsuz bir döngü gerçekleşmez.
# <Init> <Condition> <Repeat>
for ($i = 0; $i -lt 10; $i++)
{
Write-Host -Object $i
if ($i -eq 5)
{
continue
# Will not result in an infinite loop.
$i--
}
}
Döngüde devam et etiketli kullanma
Etiketli continue
bir deyim yinelemenin yürütülmesini sonlandırır ve denetimi hedeflenen kapsayan yinelemeye veya switch
deyim etiketine aktarır.
Aşağıdaki örnekte, true olduğunda $condition
en for
içteki sonlandırılır ve yineleme konumundaki labelB
ikinci for
döngüyle devam eder.
:labelA for ($i = 1; $i -le 10; $i++) {
:labelB for ($j = 1; $j -le 10; $j++) {
:labelC for ($k = 1; $k -le 10; $k++) {
if ($condition) {
continue labelB
} else {
$condition = Update-Condition
}
}
}
}
Switch deyiminde continue kullanma
içindeki etiketsiz continue
bir switch
deyim, geçerli switch
yinelemenin yürütülmesini sonlandırır ve sonraki giriş öğesini almak için denetimi üst switch
kısmına aktarır.
Tek bir giriş öğesi continue
olduğunda deyimin tamamında switch
çıkılır.
switch
Giriş bir koleksiyon olduğunda, koleksiyonun switch
her öğesi test edilir. geçerli continue
yinelemeden çıkar ve switch
sonraki öğeyle devam eder.
switch (1,2,3) {
2 { continue } # moves on to the next element, 3
default { $_ }
}
1
3
Yakalama deyiminde continue kullanma
Gövdesinde yürütülen son deyim continue
ise, trap
kapana kısılan hata sessizce yoksayılır ve yürütme, oluşmasına neden trap
olan deyimin hemen ardından deyimiyle devam eder.
Devam'ı döngü, anahtar veya yakalama dışında kullanmayın
continue
Bunu doğrudan destekleyen bir yapı dışında kullanıldığında (döngüler, switch
, trap
), PowerShell kapsayan bir yapı için çağrı yığınını arar. Kapsayan bir yapı bulamazsa, geçerli çalışma alanı sessizce sonlandırılır.
Bu, onu destekleyen bir continue
kapalı yapı dışında yanlışlıkla kullanan işlevlerin ve betiklerin istemeden çağıranlarını sonlandırabileceği anlamına gelir.
continue
Komut dosyası bloğu gibi bir ForEach-Object
işlem hattının içinde kullanılması işlem hattından çıkmakla olmaz, aynı zamanda çalışma alanının tamamını da sonlandırabilir.
Ayrıca bkz.
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin