У меня есть следующая таблица периодов, которая описывает, как часто .. говорить .. кормить мою рыбу:
--------------------------------------------------------
Period: Jan Feb March April May Jun Jul ... n - 1 .... n
--------------------------------------------------------
Val_1: 5 2 3 6 3 2 4 x x
Val_2 ...
--------------------------------------------------------
И у меня есть период с двумя DateTimes, начало и конец, то есть:
DateTime start = new DateTime(2010, 3, 11);
DateTime end = new DateTime(2012, 7, 12);
.. в это время происходит процесс кормления. Как я могу получить значения из таблицы в каждом периоде в соответствии с периодом, заданным началом и концом?
Например, период, указанный в начале и конце, составляет 2,5 года, но моя таблица описывает только 12 месяцев. Как я могу зациклить каждый период в таблице В течение всего периода, заданного началом и концом?
Я придумал что-то вроде этого:
class PeriodTableValue
{
DateTime period; // Ignore year component of datetime
double val_1;
double val_2;
}
void FeedMyFish(double howmuch, DateTime period_start, DateTime period_end)
{
...
}
...
PeriodTableValue[] table = ...
DateTime start = ...
DateTime end = ...
DateTime d1 = start;
for(int i = 0; i < table.Length; i++)
{
DateTime d2 = table[i].period;
int nI = find the occurrances of period table[i]. How ???
for(int j = 0; j < nI; j++)
{
FeedMyFish(..parameters ???)
}
d1 = d2;
}
И я застрял прямо здесь. Пожалуйста, сообщите.
Спасибо!