如何计算列表中两个TimeSpan值的平均值,然后计算增加百分比

时间:2014-07-21 18:57:23

标签: c#

我有一个对象具有两个TimeSpan值作为属性。

public class TestTimes
{
    public TimeSpan first_time { get; set; }        
    public TimeSpan second_time { get; set; }
}

它在列表中......所以

List<TestTimes> lst_times = new List<TestTimes>();

所以这是我的问题。

我想计算列表中每个属性的所有TimeSpans的平均值(first_time和second_time),以便我得到那个平均值....然后我想计算从first_time到second_time的百分比差异。意思是如果我假设first_time是基线... second_time值是+或 - 百分比更快。 (负更快等于慢)。

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。我不知道这是否是最有效的...但它完成了工作。

如果有人知道更有效的方式随意发表评论。

        long average_tspan_first_time = Convert.ToInt64(lst_results.Average(t => t.first_time.Ticks));
        TimeSpan avg_first_time = new TimeSpan(average_tspan_first_time);
        long average_tspan_second_time = Convert.ToInt64(lst_results.Average(t => t.second_time.Ticks));
        TimeSpan avg_second_time = new TimeSpan(average_tspan_second_time);

        double p_change = ((double)average_tspan_second_time - (double)average_tspan_first_time) / (double)average_tspan_first_time * 100;