Czy istnieje eleganckie rozwiązanie do przechodzenia przez uporządkowaną listę w celu wykonania niektórych obliczeń na bieżącym i następnym obiekcie? Musi istnieć lepszy sposób z LINQ aby wykonać następujące czynności:Używanie LINQ do wykonywania obliczeń bieżącego i następnego obiektu
public static List<double> GetHoursBetweenDates(List<DateTime> aDates)
{
List<double> lst = new List<double>();
var olst = aDates.OrderByDescending(d => d).ToList();
for (int i = 0; i < olst.Count - 1; i++)
{
lst.Add(olst[i].Subtract(olst[i+1]).TotalHours);
}
return lst;
}
Uważaj na różnicę obiektów 'DateTime' na ślepo. '.Kind' może wpływać na wyniki. Zobacz [tę odpowiedź] (http://stackoverflow.com/a/17950820/634824) i [ten artykuł] (http://codeofmatt.com/2013/04/25/the-case-against-datetime-now/). –
Dzięki @Matt Będę o tym pamiętać. – Seatech