как эффективно сгенерировать список интервалов времени и даты, в которых нет пробелов?

#c#

#c#

Вопрос:

Учитывая начальную и конечную дату и время, такие как эти

 B (01/01/2003 00:00:00, 01/01/2008 00:00:00) (01/01/2008 00:00:00, 01/01/2015 00:00:00) (01/01/2008 00:00:00, 01/01/2020 00:00:00) (01/01/2008 00:00:00, 01/01/2080 00:00:00) A (01/01/2005 00:00:00, 01/01/2008 00:00:00) (01/01/2008 00:00:00, 01/01/2020 00:00:00) (01/01/2008 00:00:00, 01/01/2080 00:00:00)  

как мне вычислить один период или список периодов, которые не содержат пробелов.

 Listlt;(DateTime start, DateTime end)gt; condensedPeriod = new();  int gapStart = 0;  for(int i = 0; i lt;periods.Count() ; i   )  {  DateTime currentEnd = periods[i];  DateTime nextStart = periods[i 1];    if(currentEnd != nextStart)  {  condensedPeriod.Add((periods[gapStart].start, periods[i].end))  gapStart = i 1;  }  }   

действительно ли это самый эффективный способ сделать это?

Комментарии:

1. не ясно, что такое дата начала и окончания?