using System.Collections.Generic;
public static void Main()
var days = GetAllDayOfWeekPerMonth(7, 2017, DayOfWeek.Monday);
Console.WriteLine(string.Join("\n", days.Select(x => x.ToString("dddd - MM/dd/yyyy"))));
public static IEnumerable<DateTime> GetAllDayOfWeekPerMonth(int month, int year, DayOfWeek dayOfWeek)
var date = new DateTime(year, month, 1);
if(date.DayOfWeek != dayOfWeek)
int daysUntilDayOfWeek = ((int) dayOfWeek - (int) date.DayOfWeek + 7) % 7;
date = date.AddDays(daysUntilDayOfWeek);
List<DateTime> days = new List<DateTime>();
while(date.Month == month)