Latihan - Menerapkan operator bersyarah
- 7 menit
Misalkan Anda perlu dengan cepat menentukan apakah pembelian pelanggan memenuhi syarat untuk diskon promosi. Detail untuk promosi menunjukkan bahwa ketika nilai pembelian lebih besar dari 1000 euro, pembelian memenuhi syarat untuk diskon 100 euro. Jika jumlah pembelian adalah 1000 euro atau kurang, pembelian memenuhi syarat untuk diskon 50 euro.
Meskipun Anda pasti dapat menggunakan if ... elseif ... else konstruksi percabangan untuk mengekspresikan aturan bisnis ini, menggunakan operator kondisional untuk mengevaluasi kelayakan untuk diskon promosi mungkin menjadi pilihan yang lebih baik. Operator kondisional menggunakan format ringkas yang menyimpan beberapa baris kode dan mungkin membuat niat kode lebih jelas.
Apa yang dimaksud dengan operator kondisional?
Operator bersyarat?: mengevaluasi ekspresi Boolean dan mengembalikan salah satu dari dua hasil tergantung pada apakah ekspresi Boolean mengevaluasi ke true atau false. Operator bersyarat umumnya disebut sebagai operator bersyarat terner.
Berikut adalah formulir dasarnya:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Luangkan waktu semenit untuk mempertimbangkan bagaimana Anda akan menerapkan operator kondisional ke skenario diskon promosi. Tujuan Anda adalah menampilkan pesan kepada pelanggan yang menunjukkan persentase diskon mereka. Jumlah diskon mereka akan didasarkan pada apakah mereka telah menghabiskan lebih dari 1000 euro untuk pembelian mereka.
Menambahkan kode yang menggunakan operator bersyarah
Pastikan Anda memiliki file Program.cs kosong yang terbuka di Visual Studio Code. Jika perlu, buka Visual Studio Code, lalu selesaikan langkah-langkah berikut untuk menyiapkan file Program.cs di Editor:
- Pada menu File, pilih Buka Folder.
- Gunakan dialog Buka Folder untuk menavigasi, lalu buka, folder CsharpProjects .
- Di panel Visual Studio Code EXPLORER, pilih Program.cs.
- Pada menu Pilihan Visual Studio Code, pilih Pilih Semua, lalu tekan tombol Hapus.
Ketik kode berikut ke editor Visual Studio Code.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");Pada menu File Visual Studio Code, pilih Simpan.
File Program.cs harus disimpan sebelum membangun atau menjalankan kode.
Di panel EXPLORER, untuk membuka Terminal di lokasi folder TestProject Anda, klik kanan TestProject, lalu pilih Buka di Terminal Terintegrasi.
Panel Terminal yang menampilkan prompt perintah sekarang harus terbuka. Perintah harus menampilkan jalur folder untuk lokasi folder TestProject Anda.
Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.
Saat Anda menjalankan kode, Anda akan melihat output berikut:
Discount: 100
Menggunakan operator bersyarah sebaris
Anda dapat memadamkan kode ini lebih banyak lagi dengan menghilangkan variabel discountsementara .
Perbarui kode Anda di Editor Visual Studio Code sebagai berikut:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");Pada menu File Visual Studio Code, pilih Simpan.
Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.
Perhatikan bahwa outputnya sama.
Luangkan waktu satu menit untuk memeriksa pernyataan yang diperbarui
Console.WriteLine().Perhatikan bahwa perlu untuk membungkus seluruh pernyataan operator bersyarkat dalam tanda kurung. Tanda kurung memastikan bahwa runtime memahami niat Anda, yaitu menampilkan hasil bersyarat daripada hasil mengevaluasi kondisi (saleAmount > 1000).
Catatan
Meskipun contoh khusus ini ringkas dan menunjukkan apa yang mungkin, agak lebih sulit untuk dibaca. Tidak selalu merupakan ide yang baik untuk menggabungkan baris kode, terutama ketika berdampak buruk pada keterbacaan keseluruhan kode Anda. Ini sering kali merupakan panggilan penilaian subjektif.
Rekap
Anda harus mengingat fakta-fakta berikut tentang operator bersyarkat:
- Anda dapat menggunakan operator bersyarat untuk mengurangi ukuran kode Anda, tetapi Anda harus memastikan bahwa kode yang dihasilkan mudah dibaca.
- Anda dapat menggunakan operator bersyarat saat Anda perlu mengembalikan nilai yang didasarkan pada kondisi biner. Kode Anda akan mengembalikan opsi pertama saat kondisi mengevaluasi ke true, dan akan mengembalikan opsi kedua saat kondisi mengevaluasi ke false.