|
> うーん、DateTimeに変換して素直に書いたほうがいい気がしないでもない。
↓ですよねー
using System;
using System.Collections.Generic;
class Program {
// fromYear から toYear を越えない範囲で列挙する
public static IEnumerable<DateTime> DateRange(int fromYear, int toYear) {
DateTime dt = new DateTime(fromYear,1,1);
do { yield return dt; dt = dt.AddMonths(1); } while ( dt.Year <= toYear );
}
// おためし
public static void Main() {
foreach ( DateTime dt in DateRange(2008, 2010) ) {
Console.WriteLine("{0}/{1} ",dt.Year,dt.Month);
}
}
}
|