2016-09-10 9 views
0

私はこのようになります.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 

3列目はタイムスパンです。私は彼らの平均、最小、最大などを計算する必要があります。

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は

答えて

1
TimeSpan sp = TimeSpan.FromMilliseconds(doubleAverageTicks); 
をSUX appreciated..also:私はオンラインメソッドをしようとしていた問題は、私が試したのは、0として戻ってくるということです