C# ternary (? :) Operator
C# ternary (? :) Operator
Pada artikel ini, kita akan mempelajari tentang operator ternary C# dan cara menggunakannya untuk mengontrol aliran program.
Operator ternary adalah pengganti pernyataan if...else. Jadi sebelum Anda melangkah lebih jauh dalam tutorial ini, pelajari pernyataan C# if...else (jika belum).
Sintaks operator ternary adalah:
Condition ? Expression1 : Expression2;
Operator ternary bekerja sebagai berikut:
- Jika ekspresi dinyatakan oleh
Condition
adalah true
, hasil dari Expression1
dikembalikan oleh operator ternary.
- Jika
false
, hasil dari Expression2
dikembalikan.
Sebagai contoh, kita dapat mengganti kode berikut
if (number % 2 == 0)
{
isEven = true;
}
else
{
isEven = false;
}
dengan
isEven = (number % 2 == 0) ? true : false ;
Mengapa disebut operator ternary?
Operator ini mengambil 3 operan , maka disebut operator ternary.
Contoh 1:Operator Ternary 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);
}
}
}
Saat kita menjalankan program, outputnya adalah:
True
Pada program di atas, 2
ditugaskan ke variabel number . Kemudian, operator ternary digunakan untuk memeriksa apakah number genap atau tidak.
Karena, 2 genap, ekspresi (number % 2 == 0
) mengembalikan true
. Kita juga dapat menggunakan operator ternary untuk mengembalikan angka, string, dan karakter.
Alih-alih menyimpan nilai kembalian dalam variabel isEven , kita dapat langsung mencetak nilai yang dikembalikan oleh operator ternary sebagai,
Console.WriteLine((number % 2 == 0) ? true : false);
Kapan menggunakan operator ternary?
Operator ternary dapat digunakan untuk mengganti multi baris kode dengan satu baris. Namun, kita tidak boleh menggunakannya secara berlebihan.
Sebagai contoh, kita dapat mengganti kode if..else if berikut
if (a > b)
{
result = "a is greater than b";
}
else if (a < b)
{
result = "b is greater than a";
}
else
{
result = "a is equal to b";
}
dengan satu baris kode
result = a > b ? "a is greater than b" : a < b ? "b is greater than a" : "a is equal to b";
Seperti yang bisa kita lihat, penggunaan operator ternary dapat mengurangi panjang kode tetapi membuat kita sulit memahami logika kode.
Oleh karena itu, lebih baik hanya menggunakan operator ternary untuk mengganti pernyataan if else sederhana.