Cara Paling Sederhana untuk Memeriksa Apakah Sebuah Variabel Sama dengan Nilai dari Sebuah Daftar di C#
Saat bekerja dengan C#, sering kali kita perlu memeriksa apakah sebuah variabel cocok dengan salah satu dari beberapa nilai. Pertanyaannya menjadi, “apa cara yang paling ringkas untuk mencapai ini?” Khususnya, Anda ingin menghindari pengulangan variabel yang Anda periksa berkali-kali, sambil juga menjauh dari implementasi sintaks yang panjang seperti array atau daftar ketika itu tidak diperlukan.
Dalam posting blog ini, kita akan menjelajahi berbagai solusi untuk menentukan apakah sebuah variabel sama dengan salah satu dari sekumpulan nilai secara efisien menggunakan logika boolean.
Pendekatan Umum
Seringkali, pengembang mungkin memilih untuk menggunakan operator logika OR (||
) untuk melakukan perbandingan langsung seperti ini:
int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
Walaupun solusi ini bekerja, itu memerlukan kode yang berulang untuk setiap nilai yang perlu Anda periksa. Seperti yang Anda lihat, jika Anda memiliki daftar nilai yang panjang, kodenya dapat dengan cepat menjadi membingungkan dan rentan terhadap kesalahan.
Memikirkan Kembali Pendekatan Anda
Salah satu pertanyaan yang muncul adalah apakah ada cara untuk mengenkapsulasi logika ini dengan lebih ringkas tanpa menggunakan ekspresi panjang atau fitur .NET 3.5. Yang paling penting, Anda ingin menghindari penggunaan konstruksi yang memerlukan array. Mari kita lihat pendekatan yang lebih ringkas.
Menggunakan Contains
Jika Anda masih tertarik pada cara yang lebih efisien untuk memeriksa terhadap beberapa nilai, salah satu metode terbaik adalah memanfaatkan metode Contains
, meskipun ini melibatkan penggunaan array atau daftar. Berikut adalah cara menulisnya:
bool testResult = new int[] { 3, 7, 12, 5 }.Contains(baseCase);
Mengapa Menggunakan Contains
?
Metode ini menyederhanakan kode Anda dalam beberapa cara kunci:
- Keterbacaan: Ini meningkatkan kejernihan kode. Siapa pun yang membaca kode Anda dapat langsung mengetahui apa yang ingin Anda lakukan tanpa harus meraba-raba operasi OR yang rumit.
- Fleksibilitas: Anda dapat dengan cepat memodifikasi daftar nilai yang Anda periksa tanpa mengubah struktur logika Anda.
- Skalabilitas: Tambahkan atau hapus elemen dalam kondisik tanpa khawatir tentang pembengkakan kode atau pengulangan.
Pertimbangan untuk Pengguna .NET 2.0
Mengingat keterbatasan penggunaan framework .NET 2.0, beberapa fitur yang tersedia dalam versi yang lebih baru tidak dapat diakses. Namun, implementasi Contains
yang dibagikan di atas bekerja dengan baik di dalam .NET 2.0. Berikut adalah solusi sederhana namun efektif:
bool b = new int[] { 3, 7, 12, 5 }.Contains(5);
Kesimpulan
Menentukan apakah sebuah variabel sama dengan nilai apa pun dari sekumpulan nilai dapat dikelola dengan elegan menggunakan metode Contains
dalam sebuah array. Ini menawarkan solusi yang rapi dan ringkas sambil mempertahankan keterbacaan kode dan mengurangi risiko kesalahan dengan ekspresi logika yang panjang. Ingat, saat Anda membangun skenario logika yang lebih kompleks di C#, memanfaatkan metode ini dapat mendukung kode yang bersih dan mudah dipelihara yang berkinerja baik bahkan di framework yang lebih tua seperti .NET 2.0.
Jadi, saat Anda perlu memeriksa variabel terhadap sebuah daftar, ingat strategi ini untuk kode yang lebih bersih!