Pernyataan C # switch (Dengan Contoh)

Pada artikel ini, kita akan belajar tentang pernyataan switch di C # dan bagaimana menggunakannya dengan contoh.

Pernyataan switch dapat digunakan untuk menggantikan pernyataan if… else if di C #. Keuntungan menggunakan switch over if… else if pernyataannya adalah kode akan terlihat lebih bersih dan mudah dibaca dengan switch.

Sintaks dari pernyataan switch adalah:

 switch (variabel / ekspresi) (case value1: // Pernyataan dieksekusi jika ekspresi (atau variabel) = value1 break; case value2: // Pernyataan dieksekusi jika ekspresi (atau variabel) = value1 break;……………… default: / / Pernyataan dieksekusi jika tidak ada kasus yang cocok) 

Pernyataan switch mengevaluasi ekspresi (atau variabel) dan membandingkan nilainya dengan nilai (atau ekspresi) dari setiap kasus (nilai1, nilai2,…). Ketika menemukan nilai yang cocok, pernyataan di dalam case itu akan dieksekusi.

Tetapi, jika tidak ada kasus di atas yang cocok dengan ekspresi, pernyataan di dalam defaultblok akan dieksekusi. Pernyataan default di akhir sakelar mirip dengan pernyataan blok else in if else.

Namun masalah dengan pernyataan switch adalah, ketika nilai yang cocok ditemukan, ia mengeksekusi semua pernyataan setelahnya sampai akhir blok switch.

Untuk menghindari ini, kami menggunakan breakpernyataan di akhir setiap kasus. Pernyataan break menghentikan program dari mengeksekusi pernyataan yang tidak cocok dengan menghentikan eksekusi pernyataan switch.

Untuk mempelajari lebih lanjut tentang pernyataan break, kunjungi pernyataan break C #.

Contoh 1: Pernyataan saklar C #

 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; ) ) ) ) 

Saat kita menjalankan program, outputnya adalah:

 Masukkan alfabet X Bukan vokal 

Dalam contoh ini, pengguna diminta untuk memasukkan alfabet. Alfabet diubah menjadi huruf kecil dengan menggunakan ToLower()metode jika dalam huruf besar.

Kemudian, pernyataan switch memeriksa apakah alfabet yang dimasukkan oleh pengguna adalah salah satu dari a, e, i, o or u.

Jika salah satu kasus cocok, Voweldicetak jika tidak kontrol beralih ke blok default dan Not a voweldicetak sebagai output.

Karena, keluaran untuk semua vokal sama, kita dapat menggabungkan kasus sebagai:

Contoh 2: Pernyataan switch C # dengan kasus yang dikelompokkan

 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; ) ) ) ) 

Output dari kedua program tersebut sama. Dalam program di atas, semua vokal mencetak output Voweldan break dari pernyataan switch.

Meskipun pernyataan switch membuat kode terlihat lebih bersih daripada jika… else if pernyataan, switch dibatasi untuk bekerja dengan tipe data terbatas. Pernyataan switch di C # hanya berfungsi dengan:

  • Tipe data primitif: tipe bool, char dan integral
  • Jenis Enumerasi (Enum)
  • Kelas String
  • Jenis tipe data di atas tidak dapat dibatalkan

Contoh 3: Program kalkulator sederhana menggunakan Pernyataan saklar C #

 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; ) ) ) ) 

Saat kita menjalankan program, outputnya adalah:

 Masukkan angka pertama: -13.11 Masukkan angka kedua: 2.41 Masukkan operator (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Program di atas mengambil dua operand dan satu operator sebagai input dari pengguna dan melakukan operasi berdasarkan operator.

Input diambil dari pengguna dengan menggunakan metode ReadLine()dan Read(). Untuk mempelajari lebih lanjut, kunjungi C # Input dan Output Dasar.

Program ini menggunakan pernyataan switch case untuk pengambilan keputusan. Sebagai alternatif, kita dapat menggunakan if-else if ladder untuk melakukan operasi yang sama.

Artikel yang menarik...