using System.Collections.Generic;
public static void Main()
var firstDayOfThisMonth = new DateTime(DateTime.Now.Year,DateTime.Now.Month, 1);
var workingDays = Enumerable.Range(0, 10)
.Select(d => firstDayOfThisMonth.AddDays(d))
.Where(d => !new[] { DayOfWeek.Saturday, DayOfWeek.Sunday }.Contains(d.DayOfWeek))
.Where(NotWellKnownHolliday)
foreach(var d in workingDays)
var thirdWorkingDay = workingDays.Last();
Console.WriteLine("3rd working day : " + thirdWorkingDay);
private static bool NotWellKnownHolliday(DateTime d)
return !wellKnown.Any(h => d.Month == h.Month && d.Day == h.Day);
public Holliday(int month, int day)