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.");
*Массивы 1008 * в частном порядке реализуют несколько методов List<T>
, таких как Count и Contains.Поскольку это явная (частная) реализация, вы не сможете использовать эти методы без предварительного приведения массива.Это работает не только для строк - вы можете использовать этот трюк, чтобы проверить, содержит ли массив любого типа какой-либо элемент, если класс элемента реализует IComparable.
Имейте в виду, что не все IList<T>
методыработать таким образом.Попытка использовать метод IList<T>
для массива не удастся.