using System.Collections.Generic;
public static void Main()
DateTime StartDate = DateTime.Now.AddDays(-14);
DateTime EndDate = DateTime.Now;
DayOfWeek day = DayOfWeek.Monday;
Enumerable.Range(0, (int)((EndDate - StartDate).TotalDays) + 1)
.Select(n => StartDate.AddDays(n))
var MondayCount = dates.Count(x => x.DayOfWeek == day);
Console.WriteLine(day.ToString()+" occurs "+MondayCount+" times between "+StartDate.Date + " and "+EndDate.Date);