jum*_*ojs 1 c# recursion datetime
我无法让这种方法返回正确的日期.此方法的作用是获取当前日期并添加您指定的天数.因此,如果您想要下周一,它将在下周一返回.它还将日期发送到一个方法,该方法检查它是否是不允许返回的"过滤日期"之一.这一切都正常,除了递归.我想要做的是,如果日期是"过滤日期",则再次运行相同的方法,添加天数直到达到未过滤的日期.但是会发生的事情是我在10/12/2009传递这是一个过滤日期,它会进行递归,添加日期并返回10/19/2009但是它看起来像是再次返回但是返回10/12/2009 .我究竟做错了什么?谢谢
private static DateTime Next(DateTime current, DayOfWeek dayOfWeek, int weeksAhead)
{
int offsetDays = dayOfWeek - current.DayOfWeek;
if (offsetDays <= 0)
{
offsetDays += 7 * weeksAhead;
}
DateTime result = current.AddDays(offsetDays);
//MAKE SURE RESULT IS NOT A FILTERED DATE
if (IsFiltered(result))
{
Next(result, dayOfWeek, 1);
}
//IF IT IS, RUN NEXT AGAIN WITH AN INCREMENTAL WEEK
return result;
}
Run Code Online (Sandbox Code Playgroud)
更换
Next(result, dayOfWeek, 1);
Run Code Online (Sandbox Code Playgroud)
同
return Next(result, dayOfWeek, 1);
Run Code Online (Sandbox Code Playgroud)
您没有返回(也不存储)递归调用的结果.
| 归档时间: |
|
| 查看次数: |
691 次 |
| 最近记录: |