У меня есть класс с именем TimeRange
и другой Interval
оба же следующую структуруобъединить два списка TimeRanges в один
public class TimeRange
{
public TimeOfDay start{get; set;}
public TimeOfDay end{get; set;}
}
У меня есть два списка
List<TimeRange> timeRanges = new List<TimeRange>();
timeRanges.Add(new TimeRange(Timespan.FromHours(5), Timespan.FromHours(6)));
timeRanges.Add(new TimeRange(Timespan.FromHours(8), Timespan.FromHours(9)));
List<Interval> interval = new List<Interval>();
interval.Add(new Interval(Timespan.FromHours(1), Timespan.FromHours(7)));
interval.Add(new Interval(Timespan.FromHours(10), Timespan.FromHours(15)));
Я хочу, чтобы объединить эти списки в один так что окончательный результат будет содержать это
Timespan.FromHours(1), Timespan.FromHours(5)
Timespan.FromHours(5), Timespan.FromHours(6)
Timespan.FromHours(6), Timespan.FromHours(7)
Timespan.FromHours(8), Timespan.FromHours(9)
Timespan.FromHours(10), Timespan.FromHours(15)
Другое ca себе:
timeRange.Add(new Interval(TimeSpan.FromHours(9), TimeSpan.FromHours(17))
timeRange.Add(new Interval(TimeSpan.FromHours(17), TimeSpan.FromHours(19))
interval.Add(new Interval(TimeSpan.FromHours(0), TimeSpan.FromHours(4))
interval.Add(new Interval(TimeSpan.FromHours(4), TimeSpan.FromHours(5))
interval.Add(new Interval(TimeSpan.FromHours(5), TimeSpan.FromHours(9))
interval.Add(new Interval(TimeSpan.FromHours(9), TimeSpan.FromHours(10))
interval.Add(new Interval(TimeSpan.FromHours(12), TimeSpan.FromHours(13))
Ожидаемый результат:
Timespan.FromHours(0), Timespan.FromHours(4)
Timespan.FromHours(4), Timespan.FromHours(5)
Timespan.FromHours(5), Timespan.FromHours(9)
Timespan.FromHours(9), Timespan.FromHours(10)
Timespan.FromHours(10), Timespan.FromHours(12)
Timespan.FromHours(12), Timespan.FromHours(13)
Timespan.FromHours(13), Timespan.FromHours(17)
Timespan.FromHours(17), Timespan.FromHours(19)
В чем состоит назначение двух классов, выполняющих ту же работу? Почему вам нужно объединить их в один список? Что вы пробовали? –
Эти два класса представлены по-разному в разных областях. Я должен объединить его, чтобы выполнить некоторую операцию в конечном списке. Моя проблема заключается в том, что в одном списке может быть больше элементов, тогда другие не могли бы определить, какой из них следует перебирать? – King
Какова логика в том, почему у вас есть 5 новых диапазонов от 4? Почему это не 1-5, 6-7, 8-9, 10-15? Это также может быть 1-5, 5-6, 6-7, 7-8, 8-9, 9-10, 10-15, если вы хотите каждый «промежуток времени». Что именно должна ваша конечная логика искать в итоге 5? – wentimo