// Implement a set of extension methods for IEnumerable<T>
        // that implement the following group functions: sum, product, min, max, average.
        public static void Main()
        {
            //Testing of the various extensions for different types of collections and elements:
            IEnumerable<int> testInt = new List<int>() { 1, 2, 3, 4, 5 };

            foreach (var item in testInt)
            {
                Console.Write(item + ", ");
            }
            Console.WriteLine();
            Console.WriteLine("SumOfCollection = {0}", testInt.SumOfCollection());
            Console.WriteLine(new string('-',20));

            IEnumerable<double> testDouble = new[] { 1.5, 2.5, 3.5, 4.5, 5.5 };
            foreach (var item in testDouble)
            {
                Console.Write(item + ", ");
            }
            Console.WriteLine();
            Console.WriteLine("SumOfColletion = {0}", testDouble.SumOfCollection());
            Console.WriteLine("ProductOfCollection = {0}", testDouble.ProductOfCollection());
            Console.WriteLine("MinValueInCollection = {0}", testDouble.MinValueInCollection());
            Console.WriteLine("MaxValueInCollection = {0}", testDouble.MaxValueInCollection());
            Console.WriteLine("CollectionAverage = {0}", testDouble.CollectionAverage());
            Console.WriteLine();
            Console.WriteLine(IEnumerableExtensions.CollectionAverage(testInt));
            Console.WriteLine(IEnumerableExtensions.ProductOfCollection(testDouble));
        }
        static void Main()
        {
            IEnumerable<int> list = new List<int>() { 5, 6, 7, 8, 3, 4, 6, 1 };

            int sum = list.SumOfCollection();
            int product = list.ProductOfCollection();
            int min = list.MinElement();
            int max = list.MaxElement();
            int average = list.AverageOfCollection();

            Console.WriteLine(average);
        }
 static void Main()
 {
     IEnumerable<int> test = new List<int>() { 1, 2, 3, 4, 5 };
     Console.WriteLine(test.SumOfCollection());
     IEnumerable<double> test1 = new[] { 1.5, 2.5, 3.5, 4.5, 5.5 };
     Console.WriteLine(test1.SumOfCollection());
     Console.WriteLine(test1.ProductOfCollection());
     Console.WriteLine(test1.MinValueInCollection());
     Console.WriteLine(test1.MaxValueInCollection());
     Console.WriteLine(test1.CollectionAverage());
     Console.WriteLine(IEnumExtensions.CollectionAverage(test));
     Console.WriteLine(IEnumExtensions.ProductOfCollection(test1));
 }
        static void Main()
        {
            IEnumerable <int> list = new List <int>()
            {
                5, 6, 7, 8, 3, 4, 6, 1
            };

            int sum     = list.SumOfCollection();
            int product = list.ProductOfCollection();
            int min     = list.MinElement();
            int max     = list.MaxElement();
            int average = list.AverageOfCollection();

            Console.WriteLine(average);
        }
        static void Main()
        {
            //Testing of the various extensions for different types of collections and elements:

            IEnumerable<int> test = new List<int>() { 1, 2, 3, 4, 5 };
            Console.WriteLine(test.SumOfCollection());
            IEnumerable<double> test1 = new[] { 1.5, 2.5, 3.5, 4.5, 5.5 };

            Console.WriteLine(test1.SumOfCollection());
            Console.WriteLine(test1.ProductOfCollection());
            Console.WriteLine(test1.MinOfCollection());
            Console.WriteLine(test1.MaxOfCollection());
            Console.WriteLine(test1.AverageOfCollection());

            Console.WriteLine(IEnumerableExtensions.AverageOfCollection(test));
            Console.WriteLine(IEnumerableExtensions.ProductOfCollection(test1));
        }
        static void Main()
        {
            //Testing of the various extensions for different types of collections and elements:

            IEnumerable <int> test = new List <int>()
            {
                1, 2, 3, 4, 5, 6, 7
            };

            Console.WriteLine("Sum of Collection: " + test.SumOfCollection());

            IEnumerable <double> test1 = new[] { 1.2, 0.5, 23.5, 4, 5 };

            Console.WriteLine("Sum of Collection: " + test1.SumOfCollection());
            Console.WriteLine("Product of Collection: " + test1.ProductOfCollection());
            Console.WriteLine("Min of Collection: " + test1.MinValueInCollection());
            Console.WriteLine("Max of Collection: " + test1.MaxValueInCollection());
            Console.WriteLine("Average of Collection: " + test1.CollectionAverage());
        }
Beispiel #7
0
        static void Main()
        {
            //Testing of the various extensions for different types of collections and elements:

            IEnumerable <int> test = new List <int>()
            {
                1, 2, 3, 4, 5
            };

            Console.WriteLine(test.SumOfCollection());
            IEnumerable <double> test1 = new[] { 1.5, 2.5, 3.5, 4.5, 5.5 };

            Console.WriteLine(test1.SumOfCollection());
            Console.WriteLine(test1.ProductOfCollection());
            Console.WriteLine(test1.MinValueInCollection());
            Console.WriteLine(test1.MaxValueInCollection());
            Console.WriteLine(test1.CollectionAverage());

            Console.WriteLine(IEnumerableExtensions.CollectionAverage(test));
            Console.WriteLine(IEnumerableExtensions.ProductOfCollection(test1));
        }
        static void Main()
        {
            IEnumerable <int> test = new List <int>()
            {
                -2, 1, 3, 4, 2
            };
            IEnumerable <double> test1 = new List <double>()
            {
                1.2, 2.3, 4.3, 0.3
            };

            Console.WriteLine(test.SumOfCollection());
            Console.WriteLine(test1.SumOfCollection());
            Console.WriteLine(test.ProductOfCollection());
            Console.WriteLine(test1.ProductOfCollection());
            Console.WriteLine(test.MinOfCollection());
            Console.WriteLine(test.MaxOfCollection());
            Console.WriteLine(test1.MinOfCollection());
            Console.WriteLine(test1.MaxOfCollection());
            Console.WriteLine(test.Average());
            Console.WriteLine(test1.Average());
            Console.WriteLine(test.AverageOfCollection());
            Console.WriteLine(test1.AverageOfCollection());
        }
Beispiel #9
0
        static void Main()
        {
            //Task 1
            StringBuilder str = new StringBuilder();

            Console.WriteLine("Substring extension method:");
            str.Append("abcdefghijklmnopqrstuvwxyz");
            Console.WriteLine(str);
            str = str.Substring(0, 3);
            Console.WriteLine("After Substring(0,3):");
            Console.WriteLine(str + "\n");

            //Task 2
            List <double> listOfDouble = new List <double> {
                2.323, 21.22, 1223, 56.13
            };

            Console.WriteLine("IEnumerable<T> extension methods:");
            Console.WriteLine(string.Join(", ", listOfDouble));
            Console.WriteLine("Sum of list: {0}", listOfDouble.SumOfCollection());
            Console.WriteLine("Product of list: {0}", listOfDouble.Product());
            Console.WriteLine("Min of list: {0}", listOfDouble.Minimum());
            Console.WriteLine("Max of list: {0}", listOfDouble.Maximum());
            Console.WriteLine("Average of list: {0}", listOfDouble.AverageOfCollection());

            //Task 3
            var students = new[] { new { FirstName = "Ivan", LastName = "Ivanov", Age = 20 },
                                   new { FirstName = "Spas", LastName = "Parvanov", Age = 25 },
                                   new { FirstName = "Georgi", LastName = "Slavkov", Age = 19 }, // list of annon. type
                                   new { FirstName = "Strasimir", LastName = "Asenov", Age = 18 },
                                   new { FirstName = "Denica", LastName = "Znaikov", Age = 16 } };

            Console.WriteLine("\r\nList of students:");
            foreach (var item in students)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName + " " + item.Age);
            }

            var firstNameBeforeLast =
                students
                .Where(st => st.FirstName
                       .CompareTo(st.LastName) == -1);

            Console.WriteLine("\r\nStudents whose first name is before last name: ");
            foreach (var item in firstNameBeforeLast)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName);
            }

            //Task 4
            Console.WriteLine("\r\nStudents with age bw 18-24:");
            var ageBw18And24 = students
                               .Where(st => (st.Age >= 18) && (st.Age <= 24))
                               .Select(st => new { FirstName = st.FirstName, LastName = st.LastName });

            foreach (var item in ageBw18And24)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName);
            }

            //Task 5
            Console.WriteLine("\r\nOrder by des with lambda:");
            // Using the extension methods OrderBy() and ThenBy() with lambda expressions
            // sort the students by first name and last name in descending order.
            var orderStudents = students
                                .OrderByDescending(st => st.FirstName)
                                .ThenByDescending(st => st.LastName)
                                .Select(st => st);

            foreach (var item in orderStudents)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName + " " + item.Age);
            }
            // Rewrite the same with LINQ.
            Console.WriteLine("\r\nOrder by des with linq:");
            var orderStudentsLinq =
                from st in students
                orderby st.FirstName descending
                orderby st.LastName descending
                select st;

            foreach (var item in orderStudentsLinq)
            {
                Console.WriteLine(item.FirstName + " " + item.LastName + " " + item.Age);
            }
            //Task 6
            Console.WriteLine("\r\nArray of ints:");
            int[] arr = { 7, 3, 21, 42, 3, 5, 2, 84, 54, 2, 2545, 23 };
            Console.WriteLine(string.Join(", ", arr));
            var divBy7And3 = arr
                             .Where(n => (n % 7 == 0) && (n % 3 == 0));

            Console.WriteLine("\r\nDivisable by 7 and 3 with lambda:");
            Console.WriteLine(string.Join(", ", divBy7And3));

            // with linq
            var divBy7And3Linq =
                from n in arr
                where (n % 7 == 0) && (n % 3 == 0)
                select n;

            Console.WriteLine("\r\nDivisable by 7 and 3 with linq:");
            Console.WriteLine(string.Join(", ", divBy7And3Linq));
        }