using System; using System.Collections.Generic; namespace ServiceStack.Common { public static class IntExtensions { public static IEnumerable Times(this int times) { for (var i=0; i < times; i++) { yield return i; } } public static void Times(this int times, Action actionFn) { for (var i = 0; i < times; i++) { actionFn(i); } } public static void Times(this int times, Action actionFn) { for (var i = 0; i < times; i++) { actionFn(); } } public static List TimesAsync(this int times, Action actionFn) { var asyncResults = new List(times); for (var i = 0; i < times; i++) { asyncResults.Add(actionFn.BeginInvoke(i, null, null)); } return asyncResults; } public static List TimesAsync(this int times, Action actionFn) { var asyncResults = new List(times); for (var i = 0; i < times; i++) { asyncResults.Add(actionFn.BeginInvoke(null, null)); } return asyncResults; } public static List Times(this int times, Func actionFn) { var list = new List(); for (var i=0; i < times; i++) { list.Add(actionFn()); } return list; } public static List Times(this int times, Func actionFn) { var list = new List(); for (var i=0; i < times; i++) { list.Add(actionFn(i)); } return list; } } }