使用单线程的Sum TimeSpan数组?

Shi*_*mmy 2 .net extension-methods timespan aggregate accumulate

有没有办法将多个聚合聚合到一个时间跨度?

Dim times = { 
  New TimeSpan(1, 0, 0),
  New TimeSpan(1, 10, 0),
  New TimeSpan(1, 50, 0),
  New TimeSpan(0, 20, 0),
  New TimeSpan(0, 10, 0)
}

Dim sum As New TimeSpan
For Each ts In times
  sum = sum.Add(ts)
Next

'That's what I desire:
sum = times.Sum
sum = times.Aggregate
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些我不知道的内置功能.

更新 请阅读我对Reed Copsey答案的评论.

Yur*_*ich 12

C#:

TimeSpan sum = times.Aggregate((t1, t2) => t1.Add(t2));
Run Code Online (Sandbox Code Playgroud)

VB.NET:

Dim sum As TimeSpan = times.Aggregate(Function(t1, t2) t1.Add(t2))
Run Code Online (Sandbox Code Playgroud)