diff --git a/VectoCommon/VectoCommon/Utils/EnumerableExtensionMethods.cs b/VectoCommon/VectoCommon/Utils/EnumerableExtensionMethods.cs index ac41e30a9aede690d03caadaf519fae09e402634..55a880f723ac31850b5c53c07f951ca08c57fae2 100644 --- a/VectoCommon/VectoCommon/Utils/EnumerableExtensionMethods.cs +++ b/VectoCommon/VectoCommon/Utils/EnumerableExtensionMethods.cs @@ -31,6 +31,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using TUGraz.VectoCommon.Models; @@ -156,15 +157,17 @@ namespace TUGraz.VectoCommon.Utils } } } - + [DebuggerStepThrough] public static T Sum<T>(this IEnumerable<T> values) where T : SIBase<T> => values.Sum(x => x); - public static TResult Sum<TU, TResult>(this IEnumerable<TU> values, Func<TU, TResult> selector) + [DebuggerStepThrough] + public static TResult Sum<TU, TResult>(this IEnumerable<TU> values, Func<TU, TResult> selector) where TResult : SIBase<TResult> => values.Select(selector).DefaultIfEmpty().Aggregate((sum, current) => sum + current); - public static T Average<T>(this IEnumerable<T> values) where T : SIBase<T> => + [DebuggerStepThrough] + public static T Average<T>(this IEnumerable<T> values) where T : SIBase<T> => values.Average(v => v.Value()).SI<T>(); /// <summary>