En mi opinión, la mejor manera de verificar si una matriz contiene un valor dado es usar el System.Collections.Generic.IList<T>.Contains(T item)
método de la siguiente manera:
((IList<string>)stringArray).Contains(value)
Ejemplo de código completo:
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[]
Las matrices implementan de forma privada algunos métodos List<T>
, como Count and Contains. Debido a que es una implementación explícita (privada), no podrá usar estos métodos sin convertir primero la matriz. Esto no solo funciona para cadenas: puede usar este truco para verificar si una matriz de cualquier tipo contiene algún elemento, siempre que la clase del elemento implemente IComparable.
Tenga en cuenta que no todos los IList<T>
métodos funcionan de esta manera. Intentar usar IList<T>
el método Add en una matriz fallará.