Я проголосовал за Альберта Эйна, потому что он дал хороший ответ, но вам действительно нужна коллекция, чтобы хранить все даты? Когда вы отображаете день, вы не можете просто проверить, находится ли дата в указанном диапазоне, а затем отобразить ее по-другому, не нужно собирать данные. Вот код для демонстрации
DateTime RangeStartDate,RangeEndDate; //Init as necessary
DateTime CalendarStartDate,CalendarEndDate; //Init as necessary
DateTime CurrentDate = CalendarStartDate;
String CSSClass;
while (CurrentDate != CalendarEndDate)
{
if(CurrentDate >= RangeStartDate && CurrentDate <= RangeEndDate)
{
CSSClass= "InRange";
}
else
{
CSSClass = "OutOfRange";
}
//Code For rendering calendar goes here
currentDate = currentDate.AddDays (1);
}