ExtensionMethod.NET Home of 820 C#, Visual Basic, F# and Javascript extension methods
Since System.Linq.Enumerable.Aggregate throws a System.InvalidOperationException in case the given list is empty you can't use this function in a complex linq expression. This aggregate version simply returns a defaultvalue if the list is empty