using System; using System.Collections.Generic; namespace Moth.Linq { public delegate TRes Func(TSrc src); public static class Enumerable { public static IEnumerable Where(this IEnumerable source, Func predicate) { List res = new List(); foreach (TSrc s in source) { if (predicate(s)) { res.Add(s); } } return res; } public static IEnumerable Select(this IEnumerable source, Func selector) { List res = new List(); foreach (TSrc s in source) { TRes t = selector(s); res.Add(t); } return res; } } }