我正在处理以下问题:
我想填充一个二维[365,2]数组。第一个值应该保存日期:从1月1日开始到12月31日结束。第二个值应该保存每个日期对应的星座。
例如,
我编写了一个函数:
我想填充一个二维[365,2]数组。第一个值应该保存日期:从1月1日开始到12月31日结束。第二个值应该保存每个日期对应的星座。
例如,
array [0,0]
保存101,array [0,1]
保存白羊座等。我编写了一个函数:
public static void fill_array(string[,] year_zodiac, int days, string zodiac, string startdate, int starting_day)
{
//function to fill array with date and zodiac
int startdate_int = 0;
for (int i = starting_day; i <= days; i++)
{
year_zodiac[i, 0] = startdate;
year_zodiac[i, 1] = zodiac;
startdate_int = Int32.Parse(startdate);
startdate_int++;
startdate = startdate_int.ToString();
}
然后像这样调用它:
fill_array(main_array, 18, "Aries", "101", 0);
必须为每个星座都执行此操作。我通过简单地两次调用fill_array
(即,一次为12月份白羊座的部分调用它,一次为1月份白羊座的部分调用)来绕过月份间隔问题。
这个解决方案可行,但对我来说似乎太粗糙了。
有人能给我指出更优雅的解决方案吗?
BirthdayToZodiacSign
方法:http://stackoverflow.com/a/22603915/1803777 - Ulugbek Umirov