I\'m ordering a number of objects by their System.DayOfWeek property.
DayOfWeek treats Sunday as the start of the week, whereas I would like it to be ordered so
The simplest approach would be:
var orderedTimeBands = timeBands.OrderBy(x => ((int) x.DayOfWeek + 6) % 7) .ToList()
So we have:
Name Original value Value after arithmetic Sunday 0 6 Monday 1 0 Tuesday 2 1 Wednesday 3 2 Thursday 4 3 Friday 5 4 Saturday 6 5
... which is what you want, I think.