public static bool Any <TSource>(IEnumerable <TSource> source, ReadCallback_t <TSource, bool> predicate) { Check.SourceAndPredicate(source, predicate); foreach (TSource element in source) { if (predicate(element)) { return(true); } } return(false); }
static TSource First <TSource>(IEnumerable <TSource> source, ReadCallback_t <TSource, bool> predicate, Fallback fallback) { foreach (TSource element in source) { if (predicate(element)) { return(element); } } if (fallback == Fallback.Throw) { throw NoMatchingElement(); } return(default(TSource)); }
public static TSource FirstOrDefault <TSource>(IEnumerable <TSource> source, ReadCallback_t <TSource, bool> predicate) { Check.SourceAndPredicate(source, predicate); return(First(source, predicate, Fallback.Default)); }