Métodos agregados de LINQ en C#

 C Programming >> Programación C >  >> Tags >> LINQ
Métodos agregados de LINQ en C#

LINQ Los métodos agregados ayudan en varios cálculos comunes como obtener el promedio, el conteo, la suma, etc. de valores en una colección. En C#, tenemos 6 métodos agregados de LINQ.

Mínimo() :  El método LINQ Aggregate Min nos dará el valor más bajo en una colección.

Máx.() :  El método LINQ Aggregate Max nos dará el valor más alto en una colección.

Promedio() :  El método LINQ Aggregate Average nos dará el promedio de valores en una colección.

Suma() :  El método LINQ Aggregate Sum nos dará algunos valores en una colección.

Cuenta() :  El método LINQ Aggregate Count nos dará el número total de elementos en una colección.

Agregado() :  Este método es muy útil, pero bastante complicado de entender. Este método funciona en forma de bucle y realiza el cálculo. Esto tomará una consulta basada en delegados como parámetro en forma de Lambda Expression. El método agregado se puede entender mejor con un ejemplo. Suponga que tiene 5 valores enteros en una colección y ahora quiere multiplicarlos entre sí en una secuencia en la que se han colocado. En tal escenario, el método agregado tomará los primeros 2 valores, los multiplicará y obtendrá el resultado. Ahora, tomará el resultado y lo multiplicará por 3 rd valor y obtener el nuevo resultado. Este proceso continuará hasta que se multiplique por el último valor de la secuencia y obtenga el resultado final.

Ejemplo agregado de LINQ se da a continuación.

using System;
using System.Linq;

namespace Hello_World
{

    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 10, 16, 19, 20, 21 };

            string[] names = {"Robert", "Mark", "Rony", "Peter", "Jack"};

            //Getting Min Value
            Console.WriteLine("Min Value: " + numbers.Min());

            //Getting Max Value
            Console.WriteLine("Max Value: " + numbers.Max());

            //Getting Average Value
            Console.WriteLine("Average Value: " + numbers.Average());

            //Getting Sum Value
            Console.WriteLine("Sum Value: " + numbers.Sum());

            //Getting Count
            Console.WriteLine("Count: " + numbers.Count());

            //Getting Aggregate Value            
            Console.WriteLine("Aggregate Value: " + numbers.Aggregate((x, y) => x * y));

            //Getting Comma Separated string of names.
            Console.WriteLine("Aggregate Value: " + names.Aggregate((x, y) => x + ", "+ y));
        }

    }
}