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)); } } }