Có một giải pháp thanh lịch để đi qua danh sách có thứ tự để thực hiện một số phép tính đối với hiện tại và đối tượng tiếp theo không? Có phải là một cách thông minh hơn với LINQ to làm như sau:Sử dụng LINQ để thực hiện một số phép tính trên hiện tại và đối tượng kế tiếp
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;
}
Hãy cẩn thận về việc phân biệt đối tượng 'DateTime' một cách mù quáng. '.Kind' có thể ảnh hưởng đến kết quả. Xem [câu trả lời này] (http://stackoverflow.com/a/17950820/634824) và [bài viết này] (http://codeofmatt.com/2013/04/25/the-case-against-datetime-now/). –
Thanks @Matt Tôi sẽ ghi nhớ điều đó. – Seatech