Recherche d’une requête linq pour remplir une liste avec mois + année par exemple (janvier 2012)
à partir du mois en cours
var currentdate = System.DateTime.Now
Si Dec 2011 est le mois en cours, alors la liste devrait être comme ceci
Décembre 2011 janvier 2012 …… novembre 2012
J’essaie de transformer mon exemple de code en une méthode que je pourrais presque utiliser en production car elle est plus testable et plus sensible à la culture:
public IEnumerable GetMonths(DateTime currentDate, IFormatProvider provider) { return from i in Enumerable.Range(0, 12) let now = currentDate.AddMonths(i) select new { MonthLabel = now.ToSsortingng("MMMM", provider), Month = now.Month, Year = now.Year }; }
Cette sortie (sur un ordinateur français):
var months = Enumerable.Range(0, 12). Select(n => DateTime.Today.AddMonths(n)). Select(d = new { Year = d.Year, Month = d.Month });