我有数组字符串格式(hh.mm)如何求和?我使用扩展:
static class SumExtensions
{
public static String Sum<T>(this IEnumerable<T> source, Func<T, String> selector)
{
return source.Select(selector).Aggregate((x, y) => x + y);
}
}
但我不明白在哪里解析字符串和求和
首先,您需要将 转换string
为TimeSpan
表示形式。这是必要的,因为该TimeSpan
表示允许对时间间隔执行算术运算。
string[] timeSpanStrings = new[]
{
"01.00", "02.00"
};
var timeSpans = timeSpanStrings.Select(t => TimeSpan.ParseExact(t, @"hh\.mm", CultureInfo.InvariantCulture));
var sumTimeSpan = timeSpans.Aggregate((t1, t2) => t1.Add(t2));
变量sumTimeSpan
包含结果。
您应该首先更改数据结构,从 String 到TimeSpan
然后你可以简单地使用函数TimeSpan#add(Timespan)来对数组中的值求和。