Daftar Isi:
Definisi - Apa yang dimaksud dengan Operator Bersyarat?
Operator bersyarat dalam C #, adalah operator yang mengambil tiga operan (kondisi yang akan diperiksa), nilai ketika kondisi benar dan nilai ketika kondisi salah.
Operator bersyarat diwakili oleh simbol '?:'. Operan pertama (ditentukan sebelum '?:') Adalah ekspresi evaluasi (bersyarat). Itu harus sedemikian rupa sehingga jenis ekspresi yang dievaluasi dapat secara implisit dikonversi menjadi 'bool' atau yang mengimplementasikan operator true untuk menghindari kesalahan kompilasi. Operan kedua dan ketiga mengontrol jenis ekspresi kondisional. Ini lebih sering digunakan dalam penugasan dan bukan sebagai pernyataan yang menghasilkan kesalahan kompilasi.
Jika nilai kembali dari operan pertama (ekspresi kondisional) benar, operan kedua dievaluasi. Kalau tidak, operan ketiga dievaluasi. Oleh karena itu, hasil dari operator kondisional adalah hasil dari evaluasi ekspresi yang dipertimbangkan untuk evaluasi.
Untuk ekspresi yang dinyatakan sebagai x? A: b, operan a akan dievaluasi jika hanya operan x (ekspresi kondisional) yang mengembalikan true. Kalau tidak, operan b akan dievaluasi.
Istilah ini juga dikenal sebagai operator ternary atau inline if (iif).
Techopedia menjelaskan Operator Bersyarat
Operator bersyarat adalah satu-satunya operator ternary (mengambil tiga operan) dalam C #. Ini bentuk sebagai alternatif untuk konstruksi if-else, yang menyediakan keringkasan yang lebih baik dengan lebih sedikit kode dan keterbacaan yang lebih baik. Selama kompilasi, kompiler C # menerjemahkan ekspresi ternary ke dalam pernyataan cabang, yang dapat menyingkat banyak pernyataan if dan mengurangi bersarang pada level kode sumber. Terkadang, kode yang dihasilkan untuk operator ternary dapat meningkatkan kinerja dengan memesan kembali beberapa instruksi.
Properti operator kondisional adalah:
- Asosiatif-kanan, menyiratkan bahwa operasi dikelompokkan dari kanan ke kiri.
- Itu selalu mengevaluasi salah satu dari dua ekspresi yang ditentukan setelah simbol operator bersyarat. Tidak pernah mengevaluasi keduanya.
- Operan pertama harus dari tipe integral atau pointer.
- Operan kedua dan ketiga harus dapat dipertukarkan satu sama lain dan tidak dapat saling dipertukarkan dengan jenis lainnya.
- Jenis hasil adalah tipe umum, yang merupakan nilai-l, tetapi hanya jika kedua operan kedua dan ketiga memiliki tipe yang sama dan keduanya adalah nilai-l.
- Hanya panggilan penugasan, kenaikan, penurunan, dan ekspresi objek baru yang dapat digunakan sebagai pernyataan.
- Ketika hasil evaluasi ekspresi menggunakan operator ternary digunakan dalam pernyataan pengembalian metode, jenisnya harus cocok dengan jenis pengembalian metode penutup untuk kompilasi yang berhasil.
- Ketika hasilnya tidak konstan, tipe ekspresi kondisional didasarkan pada yang lebih umum dari kedua tipe tersebut.