Câu lệnh switch C # (Với các ví dụ)

Trong bài này, chúng ta sẽ tìm hiểu về câu lệnh switch trong C # và cách sử dụng chúng với các ví dụ.

Câu lệnh switch có thể được sử dụng để thay thế câu lệnh if… else if trong C #. Lợi thế của việc sử dụng lệnh switch over if… else if là các mã sẽ trông gọn gàng và dễ đọc hơn nhiều với switch.

Cú pháp của câu lệnh switch là:

 switch (biến / biểu thức) (case value1: // Các câu lệnh được thực thi nếu biểu thức (hoặc biến) = value1 break; case value2: // Các câu lệnh được thực thi nếu biểu thức (hoặc biến) = value1 break;……………… default: / / Các câu lệnh được thực thi nếu không có trường hợp nào khớp) 

Câu lệnh switch đánh giá biểu thức (hoặc biến) và so sánh giá trị của nó với các giá trị (hoặc biểu thức) của mỗi trường hợp (value1, value2,…). Khi nó tìm thấy giá trị phù hợp, các câu lệnh bên trong trường hợp đó sẽ được thực thi.

Nhưng, nếu không có trường hợp nào ở trên khớp với biểu thức, thì các câu lệnh bên trong defaultkhối sẽ được thực thi. Câu lệnh mặc định ở cuối switch tương tự như khối else trong câu lệnh if else.

Tuy nhiên, một vấn đề với câu lệnh switch là, khi giá trị khớp được tìm thấy, nó sẽ thực thi tất cả các câu lệnh sau nó cho đến khi kết thúc khối switch.

Để tránh điều này, chúng tôi sử dụng breakcâu lệnh ở cuối mỗi trường hợp. Câu lệnh break dừng chương trình thực hiện các câu lệnh không khớp bằng cách chấm dứt việc thực hiện câu lệnh switch.

Để tìm hiểu thêm về câu lệnh break, hãy truy cập câu lệnh break trong C #.

Ví dụ 1: Câu lệnh switch 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; ) ) ) ) 

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 Nhập một bảng chữ cái X Không phải một nguyên âm 

Trong ví dụ này, người dùng được nhắc nhập một bảng chữ cái. Bảng chữ cái được chuyển đổi thành chữ thường bằng ToLower()phương pháp sử dụng nếu nó là chữ hoa.

Sau đó, câu lệnh switch sẽ kiểm tra xem bảng chữ cái do người dùng nhập có phải là bảng chữ cái hay không a, e, i, o or u.

Nếu một trong các trường hợp khớp, Vowelsẽ được in nếu không điều khiển sẽ chuyển sang khối mặc định và Not a vowelđược in dưới dạng đầu ra.

Vì đầu ra cho tất cả các nguyên âm đều giống nhau, chúng ta có thể nối các trường hợp như sau:

Ví dụ 2: Câu lệnh switch C # với các trường hợp được nhóm

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

Đầu ra của cả hai chương trình là như nhau. Trong chương trình trên, tất cả các nguyên âm in ra đầu ra Vowelvà ngắt từ câu lệnh switch.

Mặc dù câu lệnh switch làm cho mã trông gọn gàng hơn câu lệnh if… else if, switch bị hạn chế hoạt động với các kiểu dữ liệu hạn chế. Câu lệnh switch trong C # chỉ hoạt động với:

  • Các kiểu dữ liệu nguyên thủy: bool, char và kiểu tích phân
  • Các loại được liệt kê (Enum)
  • Lớp chuỗi
  • Kiểu vô hiệu của các kiểu dữ liệu trên

Ví dụ 3: Chương trình máy tính đơn giản sử dụng Câu lệnh switch 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; ) ) ) ) 

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 Nhập số đầu tiên: -13.11 Nhập số thứ hai: 2.41 Nhập toán tử (+, -, *, /): * -13.11 * 2.41 = -31.5951 

Chương trình trên lấy hai toán hạng và một toán tử làm đầu vào từ người dùng và thực hiện thao tác dựa trên toán tử.

Các đầu vào được lấy từ người dùng bằng phương thức ReadLine()Read(). Để tìm hiểu thêm, hãy truy cập Đầu vào và Đầu ra Cơ bản của C #.

Chương trình sử dụng câu lệnh trường hợp chuyển đổi để ra quyết định. Ngoài ra, chúng ta có thể sử dụng if-else if bậc thang để thực hiện thao tác tương tự.

thú vị bài viết...