Puede utilizar Find método del tipo de matriz. De .NET 3.5 y superior.
public static T Find<T>(
T[] array,
Predicate<T> match
)
Aquí es algunos ejemplos:
// we search an array of strings for a name containing the letter “a”:
static void Main()
{
string[] names = { "Rodney", "Jack", "Jill" };
string match = Array.Find (names, ContainsA);
Console.WriteLine (match); // Jack
}
static bool ContainsA (string name) { return name.Contains ("a"); }
Aquí está el mismo código de corta duración con un método anónimo:
string[] names = { "Rodney", "Jack", "Jill" };
string match = Array.Find (names, delegate (string name)
{ return name.Contains ("a"); }); // Jack
Una expresión lambda acorta aún más:
string[] names = { "Rodney", "Jack", "Jill" };
string match = Array.Find (names, n => n.Contains ("a")); // Jack
Array.Exists() es mejor, creo. –