Je ne peux pas obtenir cette méthode pour retourner la bonne date. Cette méthode prend la date actuelle et ajoute le nombre de jours que vous spécifiez. Donc, si vous voulez le lundi suivant, il reviendra le lundi suivant. Il envoie également la date dans une méthode qui vérifie si c'est l'une des "dates filtrées" qui ne peuvent pas être retournées. Tout cela fonctionne bien, sauf pour la récursivité. Ce que je voulais faire, c'est que si une date est une "date filtrée", recommencez la même méthode, en ajoutant des jours jusqu'à ce qu'elle atteigne une date non filtrée. Ce qui se passe cependant, c'est dire que je passe en 10/12/2009 et que c'est une date filtrée, il fait la récursion, ajoute les jours et revient le 19/10/2009 mais ensuite on dirait qu'il revient encore mais revient 10/12/2009 . Qu'est-ce que je fais mal? grâceRécursion et retour Dates en C#
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;
}