Toán tử C # ternary (? :) (Với Ví dụ)

Trong bài này, chúng ta sẽ tìm hiểu về toán tử bậc ba trong C # và cách sử dụng nó để điều khiển luồng chương trình.

Toán tử bậc ba thay thế cho câu lệnh if… else. Vì vậy, trước khi bạn chuyển sang phần khác trong hướng dẫn này, hãy xem qua câu lệnh C # if… else (nếu bạn chưa có).

Cú pháp của toán tử bậc ba là:

Điều kiện ? Expression1: Biểu thức2;

Toán tử bậc ba hoạt động như sau:

  • Nếu biểu thức được nêu bởi Conditiontrue, kết quả của Expression1được trả về bởi toán tử bậc ba.
  • Nếu đúng false, kết quả của Expression2được trả về.

Ví dụ, chúng ta có thể thay thế mã sau

 if (number% 2 == 0) (isEven = true;) else (isEven = false;) 

với

isEven = (số% 2 == 0)? đúng sai ;

Tại sao nó được gọi là toán tử bậc ba?

Toán tử này nhận 3 toán hạng , do đó được gọi là toán tử bậc ba.

Ví dụ 1: Toán tử bậc ba C #

 using System; namespace Conditional ( class Ternary ( public static void Main(string() args) ( int number = 2; bool isEven; isEven = (number % 2 == 0) ? true : false ; Console.WriteLine(isEven); ) ) ) 

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

 Thật

Trong chương trình trên, 2được gán cho một số biến. Sau đó, toán tử bậc ba được sử dụng để kiểm tra xem số có chẵn hay không.

Vì, 2 là số chẵn nên biểu thức ( number % 2 == 0) trả về true. Chúng ta cũng có thể sử dụng toán tử bậc ba để trả về số, chuỗi và ký tự.

Thay vì lưu trữ giá trị trả về trong biến isEven, chúng ta có thể in trực tiếp giá trị được trả về bởi toán tử bậc ba dưới dạng,

 Console.WriteLine ((number% 2 == 0)? True: false);

Khi nào sử dụng toán tử bậc ba?

Toán tử bậc ba có thể được sử dụng để thay thế nhiều dòng mã bằng một dòng duy nhất. Tuy nhiên, chúng ta không nên lạm dụng nó.

Ví dụ: chúng ta có thể thay thế mã if… else if sau

 if (a> b) (result = "a lớn hơn b";) else if (a <b) (result = "b lớn hơn a";) else (result = "a bằng b";) 

với một dòng mã

kết quả = a> b? "a lớn hơn b": a <b? "b lớn hơn a": "a bằng b";

Như chúng ta thấy, việc sử dụng toán tử bậc ba có thể làm giảm độ dài của mã nhưng nó khiến chúng ta khó hiểu logic của mã.

Do đó, tốt hơn là chỉ sử dụng toán tử bậc ba để thay thế các câu lệnh if else đơn giản.

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