IMO найкращий спосіб перевірити, чи містить масив задане значення, це використовувати System.Collections.Generic.IList<T>.Contains(T item)
метод наступним чином:
((IList<string>)stringArray).Contains(value)
Повний зразок коду:
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[]
масиви приватно реалізують кілька методів List<T>
, таких як Count and Contains. Оскільки це явна (приватна) реалізація, ви не зможете скористатися цими методами, не сформувавши спочатку масив. Це не працює лише для рядків - ви можете використовувати цей трюк, щоб перевірити, чи містить масив будь-якого типу який-небудь елемент, якщо клас елемента реалізує IComparable.
Майте на увазі, що не всі IList<T>
методи працюють таким чином. Спроба використовувати IList<T>
метод Add у масиві не вдасться.