如何在多维数组中打印所有1个月(和年份)(c#)

时间:2016-04-18 15:55:52

标签: c# multidimensional-array

我目前有一个多维数组,我希望根据一个月的标准打印出所有行。因此,如果选择1月,只要月份是1月,它就会打印出1930年到2016年之间的所有数据。有什么建议?至于年份相同的原则,选择年份并打印当年的所有价值。

1 个答案:

答案 0 :(得分:0)

不清楚对我来说你想要什么样的多维数组;在任何情况下,我建议使用 Linq ,例如获取IEnumerable<DateTime>,您可以(轻松?)转换为您真正想要的结构:

   int month = 1; // 1 for Jan, 2 for Feb etc.

   var dates = Enumerable
     .Range(1930, 2016 - 1930 + 1)
     .SelectMany(year => Enumerable
                           .Range(1, DateTime.DaysInMonth(year, month))
                           .Select(day => new DateTime(year, 1, day)));

   // Let's test
   String report = String.Join(Environment.NewLine, 
     dates.Select(date => date.ToString("dd-MM-yyyy")));

   // 01-01-1930
   // 02-01-1930
   ...
   // 31-01-1930
   // 01-01-1931
   // ...
   // 31-01-2016
   Console.Write(report);