Dada una array de enteros, ahora calculamos la suma de los elementos de la array. Entonces usamos el método Aggregate() de LINQ. Este método aplica una función a todos los elementos de la secuencia de origen y calcula un resultado acumulativo y un valor de retorno. Este método se sobrecarga de tres maneras diferentes:
- Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>): Aplica una función acumuladora sobre la secuencia especificada. Aquí, el valor semilla se usa para definir el valor inicial del acumulador y la función se usa para seleccionar el valor del resultado final.
- Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>): Aplica una función acumuladora sobre la secuencia especificada. Aquí, el valor semilla especificado se usa para definir el valor acumulador inicial.
- Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>): Aplica una función acumuladora sobre la secuencia especificada.
Ejemplo:
Input: { 34, 27, 34, 5, 6 } Output: Sum = 106 Input: { 3, 4, 27, 34, 15, 26, 234, 123 } Output: Sum = 466
Acercarse:
1. Crear e inicializar una array de tipo entero
2. Ahora encuentra la suma de la array usando la función Aggregate().
sum = arr.Aggregate((element1,element2) => element1 + element2);
3. Mostrar la suma de los elementos de la array
Ejemplo:
C#
// C# program to finding the sum of the array elements // using Aggregate() Method using System; using System.Linq; class GFG{ static void Main(string[] args) { // Creating and initializing the array // with integer values int[] arr = { 1, 2, 3, 14, 5, 26, 7, 8, 90, 10}; int sum = 0; // Finding the sum of the elements of arr // using Aggregate() Method sum = arr.Aggregate((element1, element2) => element1 + element2); // Displaying the final output Console.Write("Sum is : " + sum); } }
Producción:
Sum is : 166
Publicación traducida automáticamente
Artículo escrito por raghu135ram y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA