Maison >développement back-end >C++ >Comment générer un tableau ou une liste de plages de dates en C# ?
Générer un tableau ou une liste de plages de dates en C#
Lors de la génération de plusieurs séries de données dans un graphique utilisant des dates comme axe X, il est crucial d'avoir une liste complète de dates couvrant toute la plage. Cela garantit que toutes les séries ont des valeurs de date cohérentes, même si elles ne disposent pas de données pour toutes les dates.
Méthodes LINQ
Un moyen efficace consiste à utiliser LINQ :
<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days) .Select(offset => start.AddDays(offset)) .ToArray();</code>
Ce code crée une liste de dates commençant au début de la plage de dates (début) et incrémentée une fois par jour jusqu'à ce que la fin de la plage (fin) soit atteinte.
Méthode de boucle For
Vous pouvez également utiliser une boucle for :
<code class="language-csharp">var dates = new List<DateTime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); }</code>
Cette boucle crée une liste de dates de la même manière que la méthode LINQ.
Valeur de remplissage
Pour renseigner la valeur par défaut d'une série pour les dates manquantes, vous pouvez énumérer toutes les dates de la plage complète et les renseigner :
<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsDate(date) ? timeSeries[date] : defaultValue);</code>
Ce code crée un dictionnaire où les clés sont des dates et les valeurs sont des données. Si une date existe dans la série, sa valeur correspondante est récupérée ; sinon, une valeur par défaut est attribuée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!