IMO cara terbaik untuk memeriksa apakah array berisi nilai yang diberikan adalah dengan menggunakan System.Collections.Generic.IList<T>.Contains(T item)
metode dengan cara berikut:
((IList<string>)stringArray).Contains(value)
Contoh kode lengkap:
string[] stringArray = { "text1", "text2", "text3", "text4" };
string value = "text3";
if (((IList<string>)stringArray).Contains(value)) Console.WriteLine("The array contains "+value);
else Console.WriteLine("The given string was not found in array.");
T[]
array secara pribadi menerapkan beberapa metode List<T>
, seperti Hitung dan Berisi. Karena ini merupakan implementasi (pribadi) yang eksplisit, Anda tidak akan dapat menggunakan metode ini tanpa terlebih dahulu menggunakan array. Ini tidak hanya berfungsi untuk string - Anda bisa menggunakan trik ini untuk memeriksa apakah array jenis apa pun mengandung elemen apa pun, selama kelas elemen mengimplementasikan IComparable.
Perlu diingat tidak semua IList<T>
metode bekerja dengan cara ini. Mencoba menggunakan IList<T>
metode Tambah pada larik akan gagal.