如何在数组中存储日历月和日?

时间:2010-05-25 16:44:42

标签: c#

您如何将所有12个月及其正确的天数存储在阵列中?制作一个12乘31的阵列在几个月中有两个很多,比如2月只有28天。行将是月份,列将是天数。建议?

2 个答案:

答案 0 :(得分:5)

我假设您每天需要一个值,而不仅仅是每个数组的数字天数...

您可以使用矩形数组并忽略“额外”天数或使用锯齿状数组:

GregorianCalendar calendar = new GregorianCalendar();
string[][] values = new string[12][];
for (int i = 0; i < 12; i++)
{
    values[i] = new string[calendar.GetDaysInMonth(year, i + 1)];
}

答案 1 :(得分:4)

Jagged arrays是您问题的标准解决方案。而不是

T[,] foo = new T[12,31];

使用

T[][] foo = new T[12][];

foo[0] = new T[31];
foo[1] = new T[28];
foo[2] = new T[31];
foo[3] = new T[30];
       ...
foo[11] = new T[31];