The Aggregate() method applies an accumulator function over a sequence.
The following is our array −
string[] arr = { "DemoOne", "DemoTwo", "DemoThree", "DemoFour"};Now use the Aggregate() method. We have set the ssed value as “DemoFive” for comparison.
string res = arr.AsQueryable().Aggregate("DemoFive", (longest, next) => next.Length > longest.Length ? next : longest,str => str.ToLower());Here, the resultant string should have more number of characters than the initial seed value i.e. “DemoFive”.
Example
using System;
using System.Linq;
class Demo {
static void Main() {
string[] arr = { "DemoOne", "DemoTwo", "DemoThree", "DemoFour"};
string res = arr.AsQueryable().Aggregate("DemoFive", (longest, next) => next.Length > longest.Length ? next : longest,str => str.ToLower());
Console.WriteLine("The string with more number of characters: {0}", res);
}
}Output
The string with more number of characters: demothree