public static IEnumerable<T> Get<T>(this IEnumerable<T> source, Func<T, bool> predicate) { foreach (T item in source) { if (predicate(item)) yield return item; } }
Как это:
public static IEnumerable<T> Get<T> (IEnumerable<T> source, Func<T, bool> predicate) { var list = new List<T>(); foreach (T item in source) { if (predicate(item)) { list.Add(item); } } return list; }