【问题标题】:average timespan conversion error平均时间跨度转换误差
【发布时间】:2016-09-10 03:41:50
【问题描述】:

我的 .csv 文件中有一些数据,如下所示:

1, task1, 00:00:02.0000000
1, task2, 00:00:00.3529381
1, task3, 00:00:01.1604731
1, task4, 00:00:00.1413738

第三列是时间跨度。我需要计算它们的平均值、最小值、最大值等。我在尝试在线方法时遇到的问题是它返回为 0。我尝试过:

public Log(string a_action, string a_time, string a_executionTime, string a_studentLogin)
{
    Action = a_action;
    Time = a_time;
    ExecutionTime_s = a_executionTime;
    ExecutionTime_ts = TimeSpan.ParseExact("0:0", @"h\:m",
                       CultureInfo.InvariantCulture);

    ExecutionTime_l = Convert.ToInt64(ExecutionTime_ts.TotalMilliseconds);

    ExecutionTime_d = (double)ExecutionTime_ts.TotalMilliseconds;
}

public void Calc()
{
    List<Log> logList = CSVToList.GetList();

    double doubleAverageTicks = logList.Average(timeSpan => timeSpan.ExecutionTime_d);
    long longAverageTicks = Convert.ToInt64(doubleAverageTicks);

    TimeSpan sp = new TimeSpan(longAverageTicks);
}

建议赞赏..也是我的 linq sux

【问题讨论】:

    标签: c# csv visual-studio-2015 average timespan


    【解决方案1】:
    TimeSpan sp = TimeSpan.FromMilliseconds(doubleAverageTicks);
    

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      相关资源
      最近更新 更多