static void Main(string[] args) { Predicate <int> con = delegate(int x) { return(x > 0); }; int[] arr = Enumerable.Range(0, 10000) .Select(r => rnd.Next(-5000, 5000)).ToArray(); Console.WriteLine(sw.CheckTime(() => FindPositiveElement(arr), 1000)); Console.WriteLine(sw.CheckTime(() => FindPositiveElement(arr, PositiveCondition), 1000)); Console.WriteLine(sw.CheckTime(() => LambdaExpression(arr, con), 1000)); Console.WriteLine(sw.CheckTime(() => LambdaExpression(arr, (x) => x > 0), 1000)); Console.WriteLine(sw.CheckTime(() => arr.Where(x => x > 0), 1000)); Console.ReadKey(); }