I'm not sure i understand you well, but...
DateTime startdate = new DateTime(2015,1,1);
DateTime enddate = new DateTime(2015,3,1);
List<datetime> days = new List<datetime>();
DayOfWeek choosenDay = DayOfWeek.Sunday;
int[] choosenOrder = new int[]{1,3,5};
while(startdate<enddate)>
{
if(startdate.DayOfWeek==choosenDay)
{
days.Add(startdate);
startdate=startdate.AddDays(6);
}
startdate=startdate.AddDays(1);
}
var qry = days.Select((d,i)=>new {day = d, index = (int)i+1}).Join(choosenOrder, item=>item.index, n=>n, (item, n)=>new{day = item.day, index=n});
Now, you can list all weekdays by using
foreach
loop:
foreach(var d in qry)
{
Console.WriteLine("{0} - {1}", d.index.ToString(), d.day.ToString("dd-MM-yyyy"));
}