Birden Fazla Koşulun Kontrolü
Bir Case ifadesine birden fazla koşul kullanılmak isteniyorsa, bu koşullar virgülle ayrılır. Bu koşullardan herhangi biri sağlandığı zaman Case içine girilir.
Dolayısıyla virgül, OrElse koşul operatörü görevini görür.
Select Case ifade
Case Koşul1, Koşul2, Koşul3
Case Koşul4, Koşul5
End Select
Örnek: Aşağıdaki gibi Form1’ i düzenliyoruz.

Form 1 in üstünde çift tıklayarak aşağıdaki gibi kodu yazıyoruz.

F5 ile projemizi çalıştırıyoruz.
Not: Yaptığımız örnek’ te Select Case karar yapısının birden fazla koşullu halini uygulamalı olarak inceledik.
Hangi Karar Cümlesi Nerede Kullanılır?
If ve Select karar yapıları benzer işlevler görseler de, kullanım yerlerine ve birbirlerine göre değişik avantajları vardır. If Else If karar yapılarında, kontrol edilen değişkenlerin ya da değerlerin her seferinde tekrar yazılması gerekir.
Bu durumda Select karar yapısı, kodların yazılışını ve okunuşunu klaylaştırması açısından tercih edilmelidir.
Ayrıca, bir Case ifadesinde kontrol edilen koşullar virgülle ayrıldığında OrElse işlemi yapılır. Select Case karar yapısında And kullanımı yapılamaz.
Dim sayi As Integer = 110
Select Case sayi
Case Is > 50, Is < 100
MsgBox(sayi & " sayısı, 50 ile 100 arasındadır.")
Case Is > 40
MsgBox(sayi & " sayısı, 100 ‘den büyüktür.")
End Select
İlk Case ifadesindeki ilk koşul gerçekleştiği için diğer koşullar göz ardı edilir. Verilen sayının 50 ile 100 arasında olmasının kontrolü, Case 50 To 100 ifadesi ile yapılır.
If karar yapısı kullanılarak aşağıdaki gibidir;
Dim sayi As Integer = 110
If sayi > 50 And sayi < 100 Then
MsgBox(sayi & " sayısı, 50 ile 100 arasındadır.")
ElseIf sayi > 100 Then
MsgBox(sayi & " 100’ den büyüktür.")
End If
Bir grup RadioButton kontrolü içinden sadece bir tanesi seçilebildiği için, seçilen kontrolü bulmak için ElseIf yapısının kullanımı yeterli olacaktır.
If RadioButton1.Checked Then
ElseIf RadioButton2.Checked Then
ElseIf RadioButton3.Checked Then
End If
Ancak bu kontroller, CheckBox kontrolünün kullanım yapısına uymaz. Formlarda birden fazla CheckBox kontrolü seçilebildiği için, seçilen kontrolleri bulmak için If EndIf blokları kullanılmalıdır.
If CheckBox1.Checked Then
End If
If CheckBox2.Checked Then
End If
If CheckBox3.Checked Then
End If
Başka makalede görüşmek üzere..
Fikret AKIN