Пример #1
0
        static void Main(string[] args)
        {
            Sale[] sales = new Sale[]
            {
                new Sale("Kiwi", "Fred", 2.4, 3.6),
                new Sale("Pear", "Mike", 2.2, 9.8),
                new Sale("Apple", "Henry", 1.5, 12.2),
                new Sale("Watermellon", "Sam", 3.4, 5.4),
                new Sale("Mango", "Felicia", 4.3, 2.1),
                new Sale("Banana", "Wilson", 3.4, 5.0),
                new Sale("Strawberry", "Josh", 3.4, 19.0),
            };

            int[] numbers = new int[] { 1, 2, 1, 4, 5, 9, 7, 8, 9 };

            Console.WriteLine("MaxOverPre");

            List <int> maxOverPNum = numbers.MaxOverPrevious().ToList();

            maxOverPNum.ForEach(e => Console.WriteLine(e));

            List <Sale> maxOverPSale = sales.MaxOverPrevious(s => s.Profit).ToList();

            maxOverPSale.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("\nMinOverPreNum");

            List <int> minOverPreNum = numbers.MaxOverPrevious(s => - s).ToList();

            minOverPreNum.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("\nLocalMaxima");

            List <int> localMaxNum = numbers.LocalMaxima().ToList();

            localMaxNum.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("\nsaleMaxima");

            List <Sale> localMaxSale = sales.LocalMaxima(s => (int)s.SellingPrice).ToList();

            localMaxSale.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("\nLocalMinimaNum");

            List <int> localMinimaNum = numbers.LocalMaxima(s => - s).ToList();

            localMinimaNum.ForEach(e => Console.WriteLine(e));

            Console.WriteLine("\nAtLeastK");

            Console.WriteLine(sales.AtLeastK(3, s => s.SellingPrice < 5.5));
            Console.WriteLine(numbers.AtLeastK(3, s => s < 5));

            Console.WriteLine("\nAtLeastHlaf");

            Console.WriteLine(sales.AtLeastHalf(s => s.SellingPrice < 5.3));
            Console.WriteLine(numbers.AtLeastHalf(s => s < 4));

            Console.ReadKey();
        }