Open
Switch-Case Karar Mekanizmasi

Ard Arda bir çok if yapısı varsa bu kontrol yerine switch case tercih edilir.
Sadece Eşitlik İfadelerinde kullanılırlar"==".. > < >= <= gibi operator gecerli degildir
Kontrol edilecek değerin veri tipine göre bir case yapısı oluşturulmadır.
Yani kontorl edilen değer string ise, case durumunda da string değerler verilmelidir.

         
private void button1_Click(object sender, EventArgs e)
{
string girdi = textBox1.Text;

switch (girdi)
{
    case "1":
        lblsonuc.Text = "Ocak"; 
        break;

    case "2":
        lblsonuc.Text = "Subat";
        break;

    case "3":
        lblsonuc.Text = "Mart";
        break;

        

    default:  //IF YAPISININ SON ELSE KISMINA DENK GELIR
        lblsonuc.Text = "Girilen Bir Deger yok";
        break;
}
}
    
        
//IF ile daha yoğun bir yazılışı olurdu
private void button2_Click(object sender, EventArgs e)
{

if (textBox1.Text == "1")
{
    lblsonuc.Text = "Ocak"; 
}
else if (textBox1.Text == "2")
{
    lblsonuc.Text = "Subat";
}
else if (textBox1.Text == "3")
{
    lblsonuc.Text = "Mart";
}
else
{ lblsonuc.Text = "Girilen Bir Deger yok"; }
}
       

    

Örnek 2


private void button1_Click(object sender, EventArgs e)
{
string Icerik = textBox1.Text;

switch (Icerik)
{
    case "Admin":
    case "Mod":
    case "Yonetici":
    case "Temizlikçi":
        lblsonuc.Text = "Giriş yapabilirsiniz";
        break;

    default:
        lblsonuc.Text = "Yasaklı Bölge";
        break;
}
}
    



Örnek 3

Eğer kullanıcı adı "admin" ve şifre de "12345" ise "hoşgeldin admin" değilse "giriş yasak" mesajı kullanıcıya gösterilsin.

priv<ate void button1_Click(object sender, EventArgs e)
{

//SWITCH-CASE KULLANILACAK
string KAdi = textBox1.Text;
string Sifre = textBox2.Text;

switch (KAdi)
{
    case "admin":
        switch (Sifre)
        {
            case "1234":
                lblsonuc.Text = "Basarili Giris"; 
                break;

            default:
                lblsonuc.Text = "Kullanıcı Adı doğru , şifre yanlış"; 
                break;
        }
        break;

    default:
        lblsonuc.Text = "Kullanıcı Adı Hatalı"; 
        break;
}
}
        
       
Hatırlatma:Ard Arda bir çok if else yapısı varsa bu kontrol yerine switch case tercih edilir.
Sadece Eşitlik İfadelerinde kullanılırlar. "==".. > < >= <= gibi operator gecerli degildir
. 
    <asp:TextBox runat="server" ID="txtBox1"/><br />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="button1_Click" />  <br />
    <asp:Label  ID="lblsonuc" runat="server" Text="Lütfen 1 den 4 e bir Sayı girin"/>  
               
private void button1_Click(object sender, EventArgs e)
{
    string txt = textBox1.Text;
    switch (txt)
    {
        case "1":
            lblsonuc.Text = "Ugurlu bocek"; 
            break;

        case "2":
        case "3":
            lblsonuc.Text = "Bilindikler";
            break;
        case "4":
            lblsonuc.Text = "Kardesler grubu";
            break; 
        default:  //IF ELSE YAPISININ SON ELSE KISMINA DENK GELIR
            lblsonuc.Text = "Girilen Bir Deger yok";
            break;

            //IF ELSE kullansaydık
            //if (txtBox1.Text == "1")
            //{
            //    lblsonuc.Text = "Ocak";
            //}
            //else if (textBox1.Text == "2")
            //{
            //    lblsonuc.Text = "Subat";
            //}
    }
} 
02.02.2020