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

问题描述 投票:0回答:1

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

c# multidimensional-array
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.