Ну, есть методы расширения Linq .Where
(для поиска всех совпадающих) и .FirstOrDefault
(для получения первого совпадения), или вы можете написать свой собственный метод расширения для IList, например:
public static class IListExtensions
{
public static T FindFirst<T>(this IList<T> source, Func<T, bool> condition)
{
foreach(T item in source)
if(condition(item))
return item;
return default(T);
}
}