Pernyataan C # switch (Dengan Contoh)

Dalam artikel ini, kita akan belajar mengenai pernyataan beralih di C # dan cara menggunakannya dengan contoh.

Pernyataan peralihan boleh digunakan untuk mengganti pernyataan if… lain jika pernyataan di C #. Kelebihan menggunakan switch over jika… lain jika pernyataan adalah kod akan kelihatan lebih bersih dan mudah dibaca dengan switch.

Sintaks pernyataan suis adalah:

 suis (pemboleh ubah / ungkapan) (nilai kes 1: // Pernyataan yang dilaksanakan jika ungkapan (atau pemboleh ubah) = nilai1 pecah; nilai kes 2: // Pernyataan yang dilaksanakan jika ungkapan (atau pemboleh ubah) = nilai1 pecah;………………… lalai: / / Penyataan dilaksanakan sekiranya tiada kes yang sesuai) 

Pernyataan suis menilai ungkapan (atau pemboleh ubah) dan membandingkan nilainya dengan nilai (atau ungkapan) setiap kes (nilai1, nilai2,…). Apabila ia menemui nilai yang sepadan, pernyataan di dalam kes tersebut akan dilaksanakan.

Tetapi, jika tidak ada kes di atas yang sesuai dengan ungkapan, pernyataan di dalam defaultblok dilaksanakan. Pernyataan lalai di akhir suis adalah serupa dengan blok yang lain dalam pernyataan if else.

Namun masalah dengan pernyataan beralih adalah, ketika nilai pencocokan dijumpai, ia melaksanakan semua pernyataan setelahnya hingga akhir blok suis.

Untuk mengelakkan ini, kami menggunakan breakpernyataan di akhir setiap kes. Pernyataan rehat menghentikan program daripada melaksanakan pernyataan yang tidak sepadan dengan menghentikan pelaksanaan pernyataan suis.

Untuk mengetahui lebih lanjut mengenai pernyataan rehat, lawati pernyataan rehat C #.

Contoh 1: Pernyataan suis 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; ) ) ) ) 

Semasa kita menjalankan program, outputnya adalah:

 Masukkan abjad X Bukan huruf vokal 

Dalam contoh ini, pengguna diminta memasukkan abjad. Huruf abjad ditukar menjadi huruf kecil dengan menggunakan ToLower()kaedah jika terdapat dalam huruf besar.

Kemudian, pernyataan peralihan memeriksa sama ada abjad yang dimasukkan oleh pengguna adalah salah satu daripada a, e, i, o or u.

Sekiranya salah satu kes itu sesuai, Voweldicetak sebaliknya kawalan menuju ke blok lalai dan Not a voweldicetak sebagai output.

Oleh kerana, output untuk semua vokal adalah sama, kita boleh bergabung dengan kes seperti:

Contoh 2: Pernyataan C # switch dengan kes berkumpulan

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

Keluaran kedua-dua program adalah sama. Dalam program di atas, semua vokal mencetak output Voweldan pecahan dari pernyataan beralih.

Walaupun pernyataan beralih menjadikan kod kelihatan lebih bersih daripada jika… jika tidak pernyataan, suis terhad untuk berfungsi dengan jenis data terhad. Tukar pernyataan di C # hanya berfungsi dengan:

  • Jenis data primitif: jenis bool, char dan integral
  • Jenis Bilangan (Enum)
  • Kelas Rentetan
  • Jenis yang boleh dibatalkan dari jenis data di atas

Contoh 3: Program kalkulator ringkas menggunakan Pernyataan C # switch

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

Semasa kita menjalankan program, outputnya adalah:

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

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

Input diambil dari pengguna menggunakan kaedah ReadLine()dan Read(). Untuk mengetahui lebih lanjut, lawati C # Basic Input and Output.

Program ini menggunakan pernyataan kes suis untuk membuat keputusan. Sebagai alternatif, kita boleh menggunakan if-else jika tangga untuk melakukan operasi yang sama.

Artikel menarik...