Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyemak Berbilang Nilai dengan Cekap dalam Penyata `jika`?
Memperkemas Semakan Berbilang Nilai dalam if
Penyata
Pengaturcara kerap menghadapi keperluan untuk menyemak berbilang nilai dalam if
penyataan. Walaupun rantaian perbandingan dengan operator logik (seperti ||
atau &&
) berfungsi, ia boleh menjadi menyusahkan, terutamanya apabila berurusan dengan banyak nilai berpotensi. Artikel ini meneroka kaedah yang lebih bersih dan ringkas, terutamanya apabila bekerja dengan tatasusunan nilai.
Memanfaatkan Fungsi Tatasusunan Terbina dalam
Banyak bahasa pengaturcaraan menawarkan fungsi terbina dalam yang direka untuk semakan nilai yang cekap dalam tatasusunan. Contohnya, kaedah Contains()
C# dengan mudah menentukan sama ada tatasusunan termasuk elemen tertentu.
Contoh C# Ilustrasi:
<code class="language-csharp">if (new[] { 1, 2 }.Contains(value)) { /* ... */ }</code>
Ini secara ringkas menilai kepada true
jika value
sama ada 1 atau 2. Adalah penting untuk diingat bahawa pendekatan ini berbeza sedikit daripada menggunakan operator logik dalam pernyataan if
.
Kaedah Sambungan Tersuai: Penyelesaian yang Lebih Elegan
Membuat kaedah sambungan tersuai menawarkan cara berorientasikan objek yang berkuasa untuk meningkatkan fungsi jenis terbina dalam. Pertimbangkan kaedah sambungan bernama In()
yang menyemak kehadiran nilai dalam tatasusunan jenis yang sama.
Tersuai In()
Kaedah Sambungan (C#):
<code class="language-csharp">public static bool In<T>(this T obj, params T[] args) { return args.Contains(obj); }</code>
Menggunakan In()
Kaedah Sambungan:
<code class="language-csharp">if (1.In(1, 2)) { /* ... */ }</code>
Ini mencapai hasil yang sama seperti contoh sebelumnya tetapi dengan kebolehbacaan yang dipertingkatkan dan reka bentuk berorientasikan objek. Kaedah pelanjutan adalah tidak ternilai untuk melanjutkan jenis sedia ada tanpa mengubah takrif asalnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Berbilang Nilai dengan Cekap dalam Penyata `jika`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!