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