Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
continue deyiminin program akışını hemen bir program döngüsünün, switch deyiminin veya trap deyiminin en üstüne nasıl döndürdüğü açıklanır.
Uzun açıklama
continue deyimi, tamamen çıkmak yerine sadece geçerli denetim bloğundan çıkıp yürütmeye devam etmek için bir yol sağlar. Açıklama etiketleri destekler.
Etiket, betikteki bir deyime atadığınız addır.
Döngülerde devam et'i kullanma
Etiketlenmemiş continue deyimi, program akışını hemen bir for, foreach, doveya while deyimi tarafından kontrol edilen en içteki döngünün başına geri 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, while değişkeni 5'e eşitse program akışı $ctr döngüsünün 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
}
for döngüsü kullanılırken yürütme, <Repeat> deyiminde devam eder ve ardından <Condition> testini izler. Aşağıdaki örnekte, $i değerinin azaltılması continue anahtar sözcüğünden sonra gerçekleştiği için sonsuz bir döngü oluşmaz.
# <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 etiketli continue kullanımı
Etiketlenmiş continue deyimi, yinelemenin yürütülmesini sonlandırır ve denetimi hedeflenen kapsayıcı yinelemeye veya switch deyimi etiketine aktarır.
Aşağıdaki örnekte,
: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 ifadesinde continue kullanımı
Bir continue içindeki etiketsiz switch deyimi, mevcut switch yinelemesinin yürütülmesini sonlandırır ve denetimi, sonraki giriş öğesini almak için switch'ün en üst kısmına aktarır.
Tek bir giriş öğesi olduğunda, continue tüm switch ifadesini sonlandırır.
switch girişi bir koleksiyon olduğunda, switch koleksiyonun her öğesini sınar.
continue geçerli yinelemeden çıkar ve switch sonraki öğeyle devam eder.
switch (1,2,3) {
2 { continue } # moves on to the next element, 3
default { $_ }
}
1
3
Tuzak deyiminde continue kullanma
Eğer gövdede yürütülen son deyim trap deyimi continueise, kapana kısılan hata sessizce görmezden gelinir ve yürütme, trap'nin oluşmasına neden olan deyimin hemen ardındaki deyimle devam eder.
Döngü, switch veya trap dışında 'continue' kullanmayın.
Bu, onu destekleyen kapsayıcı bir yapı dışında yanlışlıkla bir
continue betik bloğu gibi bir işlem hattının içinde ForEach-Object kullanmak işlem hattından çıkmakla olmaz, aynı zamanda çalışma alanının tamamını da sonlandırabilir.