-3

我有数组字符串格式(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);
    }
}

但我不明白在哪里解析字符串和求和

4

2 回答 2

3

首先,您需要将 转换stringTimeSpan表示形式。这是必要的,因为该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包含结果。

于 2012-08-13T13:03:39.157 回答
0

您应该首先更改数据结构,从 String 到TimeSpan

然后你可以简单地使用函数TimeSpan#add(Timespan)来对数组中的值求和。

于 2012-08-13T12:57:10.230 回答