Maison > développement back-end > C++ > Comment puis-je générer un tableau de dates entre deux dates données en C# ?

Comment puis-je générer un tableau de dates entre deux dates données en C# ?

Patricia Arquette
Libérer: 2025-01-10 21:12:41
original
850 Les gens l'ont consulté

How Can I Generate an Array of Dates Between Two Given Dates in C#?

Générer un tableau de dates dans la plage de dates spécifiée

Dans certains cas, afin de représenter avec précision les données dans un graphique multi-séries, il est nécessaire de générer une liste complète de toutes les dates dans une plage spécifiée. Par exemple, lorsque les plages de dates des différentes séries de données du graphique sont différentes, le graphique sera incliné en raison de l'incohérence de l'axe temporel de l'axe X.

Il existe plusieurs façons de créer un tableau ou une liste de toutes les dates dans une plage de dates donnée. Deux méthodes courantes incluent l'utilisation de LINQ pour améliorer la simplicité et la lisibilité, et l'utilisation de boucles for pour obtenir un contrôle plus clair.

Méthode LINQ

<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days)
          .Select(offset => start.AddDays(offset))
          .ToArray();</code>
Copier après la connexion

Dans cette méthode, la méthode Range génère une séquence de nombres de 0 au nombre total de jours dans la plage de dates, et la méthode Select convertit chaque nombre en date en l'ajoutant à la date de début. Le résultat est un tableau contenant toutes les dates de la plage spécifiée.

Méthode de 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>
Copier après la connexion

Cette méthode utilise une boucle for pour ajouter progressivement chaque date de la plage spécifiée à la liste. La boucle continue jusqu'à ce que la date de fin soit atteinte, garantissant que toutes les dates sont incluses.

Remplissez les valeurs manquantes en utilisant les valeurs par défaut

Pour gérer les scénarios dans lesquels certaines séries peuvent manquer de données pour des dates spécifiques, pensez à remplir ces dates avec des valeurs par défaut. Ceci peut être réalisé en utilisant un dictionnaire, en associant chaque date à sa valeur correspondante et en utilisant une valeur par défaut si aucune valeur n'existe.

<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) ? timeSeries[date] : defaultValue);</code>
Copier après la connexion

Dans cet exemple, le dictionnaire mappe chaque date à sa valeur, et pour les dates qui n'existent pas dans la série chronologique, une valeur par défaut est attribuée. Avec cette approche, l'ensemble de données résultant conserve une plage de dates cohérente et remplit les valeurs par défaut pour les points de données manquants.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal