using System.Collections.Generic;
private static readonly HashSet<DateTime> Holidays = new HashSet<DateTime>();
private static bool IsHoliday(DateTime date)
return Holidays.Contains(date);
private static bool IsWeekend(DateTime date)
return date.DayOfWeek == DayOfWeek.Sunday;
private static DateTime GetNextWorkingDay(DateTime date)
} while (IsHoliday(date) || IsWeekend(date));
public static void Main()
Holidays.Add(new DateTime(DateTime.Now.Year, 6, 20));
Holidays.Add(new DateTime(DateTime.Now.Year, 6, 22));
Holidays.Add(new DateTime(DateTime.Now.Year, 6, 23));
Holidays.Add(new DateTime(DateTime.Now.Year, 3, 10));
Holidays.Add(new DateTime(DateTime.Now.Year, 12, 25));
var dt = GetNextWorkingDay(DateTime.Parse(@"2020-06-19"));