C # switch İfadesi (Örneklerle)

Bu yazıda, C # 'da switch deyimini ve bunları örneklerle nasıl kullanacağımızı öğreneceğiz.

Switch ifadesi, C # 'ta if… else if ifadesinin yerini almak için kullanılabilir. Switch over if … else if ifadesi kullanmanın avantajı, kodlar switch ile çok daha temiz ve okunabilir görünecektir.

Switch deyiminin sözdizimi şöyledir:

 switch (değişken / ifade) (case value1: // İfade (veya değişken) = değer1 break ise yürütülen ifadeler; case value2: // İfade (veya değişken) = değer1 break;……………… varsayılan: / / Hiçbir vaka eşleşmezse yürütülen ifadeler) 

Switch deyimi, ifadeyi (veya değişkeni) değerlendirir ve değerini, her durumun (değer1, değer2,…) değerleri (veya ifade) ile karşılaştırır. Eşleşen değeri bulduğunda, bu durumdaki ifadeler yürütülür.

Ancak, yukarıdaki durumlardan hiçbiri ifadeyle eşleşmezse, defaultblok içindeki ifadeler yürütülür. Anahtarın sonundaki varsayılan ifade, if else deyimindeki else bloğuna benzer.

Ancak switch deyimiyle ilgili bir sorun, eşleşen değer bulunduğunda, anahtar bloğunun sonuna kadar ondan sonraki tüm ifadeleri yürütmesidir.

Bundan kaçınmak için breakher vakanın sonunda ifade kullanırız . Break ifadesi, switch ifadesinin yürütülmesini sonlandırarak programın eşleşmeyen ifadeleri yürütmesini durdurur.

Break ifadesi hakkında daha fazla bilgi edinmek için C # break ifadesini ziyaret edin.

Örnek 1: C # switch İfadesi

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': Console.WriteLine("Vowel"); break; case 'e': Console.WriteLine("Vowel"); break; case 'i': Console.WriteLine("Vowel"); break; case 'o': Console.WriteLine("Vowel"); break; case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Programı çalıştırdığımızda çıktı şöyle olacaktır:

 Bir alfabe girin X Ünlü değil 

Bu örnekte, kullanıcıdan bir alfabe girmesi istenir. Alfabe, ToLower()büyük harf olması durumunda yöntem kullanılarak küçük harfe dönüştürülür .

Daha sonra switch deyimi, kullanıcı tarafından girilen alfabenin herhangi biri olup olmadığını kontrol eder a, e, i, o or u.

Durumlardan biri eşleşirse Vowelyazdırılır, aksi takdirde kontrol varsayılan bloğa gider ve Not a vowelçıktı olarak yazdırılır.

Tüm sesli harflerin çıktısı aynı olduğundan, durumları şu şekilde birleştirebiliriz:

Örnek 2: Gruplandırılmış servis talepleriyle C # switch İfadesi

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char ch; Console.WriteLine("Enter an alphabet"); ch = Convert.ToChar(Console.ReadLine()); switch(Char.ToLower(ch)) ( case 'a': case 'e': case 'i': case 'o': case 'u': Console.WriteLine("Vowel"); break; default: Console.WriteLine("Not a vowel"); break; ) ) ) ) 

Her iki programın çıktısı aynıdır. Yukarıdaki programda, tüm ünlüler çıktıyı yazdırır Vowelve switch ifadesinden keser.

Switch ifadesi kodun if… else if ifadesinden daha temiz görünmesini sağlasa da, switch sınırlı veri türleriyle çalışmak üzere kısıtlanmıştır. C # 'da switch deyimi yalnızca şunlarla çalışır:

  • İlkel veri türleri: bool, char ve integral türü
  • Numaralandırılmış Türler (Enum)
  • String Sınıfı
  • Yukarıdaki veri türlerinin null yapılabilir türleri

Örnek 3: C # switch İfadesi kullanan basit hesap makinesi programı

 using System; namespace Conditional ( class SwitchCase ( public static void Main(string() args) ( char op; double first, second, result; Console.Write("Enter first number: "); first = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter second number: "); second = Convert.ToDouble(Console.ReadLine()); Console.Write("Enter operator (+, -, *, /): "); op = (char)Console.Read(); switch(op) ( case '+': result = first + second; Console.WriteLine("(0) + (1) = (2)", first, second, result); break; case '-': result = first - second; Console.WriteLine("(0) - (1) = (2)", first, second, result); break; case '*': result = first * second; Console.WriteLine("(0) * (1) = (2)", first, second, result); break; case '/': result = first / second; Console.WriteLine("(0) / (1) = (2)", first, second, result); break; default: Console.WriteLine("Invalid Operator"); break; ) ) ) ) 

Programı çalıştırdığımızda çıktı şöyle olacaktır:

 İlk numarayı girin: -13.11 İkinci numarayı girin: 2.41 Operatör girin (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Yukarıdaki program, kullanıcıdan girdi olarak iki işlenen ve bir işleci alır ve operatöre bağlı olarak işlemi gerçekleştirir.

Girişler, ReadLine()ve Read()yöntemi kullanılarak kullanıcıdan alınır . Daha fazla bilgi edinmek için C # Temel Giriş ve Çıkış'ı ziyaret edin.

Program, karar vermek için durum değiştirme ifadesini kullanır. Alternatif olarak, aynı işlemi gerçekleştirmek için if-else if ladder kullanabiliriz.

Ilginç makaleler...