While...End While Deyimi (Visual Basic)
Verilen koşul olduğu sürece bir dizi deyim True çalıştırır.
Syntax
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
Bölümler
| Süre | Tanım |
|---|---|
condition |
Gereklidir. Boolean Ifa -de. ise, condition Nothing Visual Basic olarak False davranır. |
statements |
İsteğe bağlı. aşağıdaki deyiminden her zaman While çalıştıran bir veya daha fazla condition deyim True vardır. |
Continue While |
İsteğe bağlı. Denetimi bloğun sonraki yinelemesi için While iletir. |
Exit While |
İsteğe bağlı. Blok dışında aktarım While denetimi. |
End While |
Gereklidir. Bloğun tanımını While sonlandırılır. |
Açıklamalar
Bir koşul olduğu sürece bir dizi deyimini süresiz bir kez tekrarlamak istediğiniz While...End While bir yapı True kullanın. Koşulu nerede test etmek istediğiniz veya hangi sonucu test etmek istediğiniz konusunda daha fazla esneklik elde etmek isterseniz, Do... Döngü Deyimi. Deyimleri birkaç kez tekrarlamak için For... Next Deyimi genellikle daha iyi bir seçenektir.
Not
anahtar While sözcüğü, Do... Loop Deyimi, Skip While Yan Tümcesi ve Take While Yan Tümcesi.
ise, condition True deyimiyle statements karşılaşana kadar End While tüm çalıştırmaları çalıştırın. Denetim daha sonra While deyimine geri döner ve condition tekrar denetlenir. hala condition True ise, işlem yinelenir. ise, False denetimi deyimini izleyen deyimine End While geçer.
deyimi, While döngüyü başlamadan önce koşulu her zaman denetler. Koşul kalırken döngü devam True eder. conditiondöngüyü False ilk kez girersiniz, bir kez bile çalıştırmaz.
Genellikle condition iki değerin karşılaştırması sonucu elde eder, ancak Boole Veri Türü değeri ( veya ) olarak değerlendirilen herhangi bir ifade True False olabilir. Bu ifade, değerine dönüştürülen sayısal tür gibi başka bir veri türünün değerini Boolean içerebilir.
Bir döngüyü While başka bir döngüye yerleştirerek döngüleri iç içe yerleştirerek iç içe yerleştirerek. Ayrıca, farklı türlerde denetim yapılarını iç içe de iç içe yerleştirmeyi de SSS'ye göre yapılandırarak farklı denetim yapılarını iç içe yerleştirmeyi de slarının. Daha fazla bilgi için bkz. İç İçe Denetim Yapıları.
Çıkış Sırasında
Exit While deyimi, bir döngüden çıkmak için başka bir yol While sağlar. Exit While hemen denetimi deyimini izleyen deyime End While iletir.
Genellikle bazı Exit While koşul değerlendirildikten sonra (örneğin, bir yapıda) If...Then...Else kullanırsınız. Hatalı değer veya sonlandırma isteği gibi tekrar yapmaya devam etmek için gereksiz veya imkansız hale gelen bir koşul algılarsanız döngüden çıkmak istiyor olabilir. Sonsuz döngüye neden olan bir koşulu test etmek için kullanabilirsiniz. Bu, son derece büyük, hatta sonsuz sayıda çalıştırabilecek Exit While bir döngü olabilir. Daha sonra döngüden Exit While kaçış için kullanabilirsiniz.
Döngüde herhangi bir Exit While yere istediğiniz sayıda deyim While ebilirsiniz.
İç içe döngüler içinde kullanılırken, aktarımlar en içteki döngüden ve iç içe geçmiş bir While Exit While sonraki üst düzeye denetim sağlar.
deyimi Continue While denetimi hemen döngüyü bir sonraki yinelemeye iletir. Daha fazla bilgi için bkz. Continue Deyimi.
Örnek 1
Aşağıdaki örnekte, döngüsünde deyimler değişkeni index 10'dan büyük olana kadar çalışmaya devam eder.
Dim index As Integer = 0
While index <= 10
Debug.Write(index.ToString & " ")
index += 1
End While
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
Örnek 2
Aşağıdaki örnek, ve deyimlerinin Continue While Exit While kullanımını göstermektedir.
Dim index As Integer = 0
While index < 100000
index += 1
' If index is between 5 and 7, continue
' with the next iteration.
If index >= 5 And index <= 8 Then
Continue While
End If
' Display the index.
Debug.Write(index.ToString & " ")
' If index is 10, exit the loop.
If index = 10 Then
Exit While
End If
End While
Debug.WriteLine("")
' Output: 1 2 3 4 9 10
Örnek 3
Aşağıdaki örnek, bir metin dosyasındaki tüm satırları okur. yöntemi OpenText dosyayı açar ve StreamReader karakterlerin okunan bir döndürür. Whilekoşulda, dosyasının Peek yöntemi StreamReader dosyanın ek karakterler içerdiğini belirler.
Private Sub ShowText(ByVal textFilePath As String)
If System.IO.File.Exists(textFilePath) = False Then
Debug.WriteLine("File Not Found: " & textFilePath)
Else
Dim sr As System.IO.StreamReader = System.IO.File.OpenText(textFilePath)
While sr.Peek() >= 0
Debug.WriteLine(sr.ReadLine())
End While
sr.Close()
End If
End Sub