using System.Collections.Generic;
public static void Main()
var dayOfWeeks = new List<DayOfWeek>();
dayOfWeeks.Add(DayOfWeek.Tuesday);
dayOfWeeks.Add(DayOfWeek.Friday);
var days = GetAllDayOfWeekPerMonth(DateTime.Now.Month+1, DateTime.Now.Year, dayOfWeeks);
Console.WriteLine("[\n"+string.Join(",\n", days.Select(x => x.ToString("dd/MM/yyyy")))+"\n]");
public static IEnumerable<DateTime> GetAllDayOfWeekPerMonth(int month, int year, List<DayOfWeek> dayOfWeeks)
List<DateTime> days = new List<DateTime>();
foreach(DayOfWeek dayOfWeek in dayOfWeeks)
var date = new DateTime(year, month, 1);
if(date.DayOfWeek != dayOfWeek)
int daysUntilDayOfWeek = ((int) dayOfWeek - (int) date.DayOfWeek + 7) % 7;
date = date.AddDays(daysUntilDayOfWeek);
while(date.Month == month)
return days.OrderBy(v=>v);