using System; using System.Collections.Generic; using System.Linq; namespace HandyControl.Tools.Extension { public static class EnumerableExtension { public static IEnumerable Do(this IEnumerable source, Action predicate) { var enumerable = source as IList ?? source.ToList(); foreach (var item in enumerable) { predicate.Invoke(item); } return enumerable; } public static IEnumerable DoWithIndex(this IEnumerable source, Action predicate) { var enumerable = source as IList ?? source.ToList(); for (var i = 0; i < enumerable.Count; i++) { predicate.Invoke(enumerable[i], i); } return enumerable; } } }