for
(
DateTime date = new DateTime(2012, 08, 01).AddMonths(1);
date <= new DateTime(2013, 03, 01);
date = date.AddMonths(1)
)
{
Console.WriteLine(date.ToString("MM/yyyy"));
}
It will be more readable and reliable if you write a separate counter for dates, for example:
public static IEnumerable<DateTime> MonthsBetween(int startMonth, int startYear, int endMonth, int endYear)
{
for
(
DateTime date = new DateTime(startYear, startMonth, 01).AddMonths(1);
date <= new DateTime(endYear, endMonth, 01);
date = date.AddMonths(1)
)
{
yield return date;
}
}
What can you name like this:
foreach (var date in MonthsBetween(08, 2012, 03, 2013))
{
Console.WriteLine(date.ToString("MM/yyyy"));
}
, , .
, .AddMonths(1) , .
( , , .)