Maison >développement back-end >C++ >Comment générer un tableau ou une liste de plages de dates en C# ?

Comment générer un tableau ou une liste de plages de dates en C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-10 21:21:44564parcourir

How to Generate a Date Range Array or List in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn