Si programas con VS2008, usa Linq con el siguiente código:
Código C++:
Ver originalSelectionRange f = new SelectionRange();
f.Start = DateTime.Now.AddDays(-1);
f.End = new DateTime(DateTime.Now.Year + 1, 1, 1).AddDays(-1);
List<DateTime> list = new List<DateTime>();
do
{
list.Add(f.Start.AddDays(1));
f.Start = f.Start.AddDays(1);
} while (f.Start <= f.End);
DateTime[] fechas = list.ToArray().Where(d => d.DayOfWeek == DayOfWeek.Wednesday).AsEnumerable().ToArray();