Sonsuz Döngüler
While döngüsü sayaç ile kullanılırken, sayacın değiştirilmesine dikkat edilmesi gerekir. Eğer sayaç değiştirilmezse, While ifadesindeki koşul hep True değerini alacağı için sonsuz döngüye girilir. Sadece sayacın kontrol edilmediği durumlar değil, koşulların yazılmalarındaki mantık hataları da sonsuz döngüye sebebiyet verir.
Dim i As Short = 0
While i < 100 Or i > 100
Label1.Text = "Sonsuz döngüye girildi"
i += 1
End While
For döngüsünde sayacın değeri Step ifadesindeki değerden fazla bir sayıda azaltılırsa yine sonsuz döngüye girilir. Bu döngünün çalışması, Integer veri tipinin alabileceği minimum değere ulaşınca hata ile sonlanır.
For i As Integer = 0 To 9 Step 3
MsgBox("j")
i -= 4
Next
Hangi Döngü Nerede Kullanılır?
Visual Basic .NET dilinde While ve Until döngüleri, koşul kontrollerine izin verdiği için For döngüsüne göre daha esnek yapıdadır. For döngüsünde sayacın belli bir değere ulaşmış olup olmadığı kontrol edilir. Bu kontrol döngünün içinde otomatik olarak yapıldığı için yazılması daha kolaydır.
Örneğin, istenen bir işlemin sadece belli sayıda yapılması ise, sayaçlar ile uğraşmamak için For döngüsü tercih edilmelidir.
Dim i As Integer = 0
While i <= TekrarSayisi ' TekrarSayisi + 1 kadar işlem yapılır.
i += 1
End While
For i As Integer = 0 To TekrarSayisi ' TekrarSayisi + 1 kadar işlem yapılır.
Next
Döngülerin belli koşullar sağlandığı sürece ya da sağlanana kadar çalışması, karar yapılarının kullanılmasını gerektirir. For döngüsünde koşul kontrolleri If veya Select karar yapıları ile yapılır. Ancak bu tip durumlarda While ve Until döngülerinin kullanılması kodun yazılımını kolaylaştırır.
For i As Integer = 0 To 0 ' Yapılacak işlemler
Dim cevap As String
cevap = InputBox("Durmak için Cancel düğmesine basın")
If cevap <> "" Then
i -= 1
End If
Next
Do ' Yapılacak işlemler
Loop Until InputBox("Durmak için Cancel düğmesine basın")