Thanks for comment. I updated it.
You the following method:
private List<datetime> GetDateByWeek(DateTime startDate, int weekNumOfMonth, int dayOfWeek)
{
List<datetime> dates = new List<datetime>();
DateTime dt = new DateTime(startDate.Year, startDate.Month, 1);
for (int i = 0; i < 5; i++)
{
int day = (weekNumOfMonth - 1) * 7 - 1 + dayOfWeek - (int)dt.DayOfWeek;
dates.Add(dt.AddDays(day >= 0 ? day : day + 7));
dt = dt.AddMonths(1);
}
return dates;
}</datetime></datetime></datetime>
To use this, for example for third week, thursday, just call like this:
List<DateTime> myDates = GetDateByWeek(DateTime.Now, 3, 5);