C#'da Switch Deyimi

Switch deyimi genellikle kompleks if-else bloklarının yerine tercih edilir. Switch deyimi ile yapabileceğimiz bütün kontrolleri if deyimi ile de yapabiliriz, ancak bazı durumlarda Switch deyimi okunabilirliği arttırdığı için tercih edilir.

Bir Switch yapısında break, case, Switch,  ve goto anahtar sözcükleri kullanılır.

Temel bir Switch yapısı aşağıdaki gibidir;

Switch (ifade)

{

      Case sabit1:

      Deyim1;

      Break;

      Case sabit2:

      Deyim2;

      Break;

      Case sabit3:

      Deyim3;

      Break;

}

İki ve ya daha fazla sayıda case ifadesi olamaz. Her biri farklı olmalıdır. Örneğin aşağıdaki Switch yapısı geçersizdir;

Switch (ifade)

{

Case 3:

Deyim1; break;

Case 3:

Dayim1; break;

Case 2:

Dayim1;  break;

Default :

Deyim1; break;

}

Switch deyimi ile ilgili önemli kurallara geçmeden önce örnek verelim;

namespace switch_deyimi

{

    class Program

    {

        static void Main(string[] args)

        {

            int plaka;

            Console.Write("Plaka Numarasını giriniz: ");

            plaka = Convert.ToInt32(Console.ReadLine());

            switch (plaka)

            {

                case 01:

                    Console.WriteLine("ADANA");

                    break;

                case 34:

                    Console.WriteLine("İSTANBUL");

                    break;

                default :

                    Console.WriteLine("Program yapım aşamsındadır. Özür Dileriz");

                    break;

            }

            Console.ReadLine();

        }

    }

Switch Deyimi ile İlgili Önemli Kurallar

  1. Case anahtar sözcüğünün yanındaki ifadeler sabit olmak zorundadır. Bu ifadeler içinde değişkenler bulunamaz.
  2. Case ifadeleri C#’ta herhangi bir tamsayı sabiti, karakter ya da string sabiti olabilir.
  3. Default durumunu istediğimiz sırada yazabiliriz. Aynı şekilde case ifadelerini de istediğimiz sırada yazabiliriz.
  4. Bir Switch bloğunda iki ya da daha fazla sayıda aynı case ifadeleri bulunamaz.
  5. Bir Switch bloğunda default case olmak zorunda değildir.
  6. Akış herhangi bir case ifadesine geldiğinde, akış farklı bir case ifadesine yönlendirilmek istenirse goto anhatar sözcüğü kullanılır.

Şimdi bir örnekle Switch deyimi konusunu bitirelim. Bu örnekte her zaman göstermiş olduğum bir dört işlem programı.

namespace switch_dörtişlem

{

    class Program

    {

        static void Main(string[] args)

        {

            int sayi1, sayi2;

            string işlem;

            Console.WriteLine("Birinci Sayıyı giriniz: ");

            sayi1 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("İkinci Sayıya Giriniz: ");

            sayi2 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Toplama -----> t");

            Console.WriteLine("Çıkarma -----> ç");

            Console.WriteLine("Çarpma ------> c");

            Console.WriteLine("Bölme -------> b");

            Console.WriteLine("İşlem Giriniz: ");

            işlem = Console.ReadLine();

            switch (işlem)

            {

                case "t":

                    Console.WriteLine("Sonuç : {0}", sayi1 + sayi2);

                    break;

                case "ç":

                    Console.WriteLine("Sonu. : {0}", sayi1 - sayi2);

                    break;

                case "c":

                    Console.WriteLine("Sonuç : {0}", sayi1 * sayi2);

                    break;

                case "b":

                    switch (sayi2)

                    {

                        case 0:

                            Console.WriteLine("Bölen 0 Olamaz");

                            break;

                        default:

                            Console.WriteLine("Sonuç : {0}", sayi1 / sayi2);

                            break;

                    }

                    break;

            }

            Console.ReadLine();

        }

    }

Tarih:
Hit: 2352
Yazar: calpazhan



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.