Heim > Backend-Entwicklung > C++ > Wie kann ich in C# ein Array von Daten zwischen zwei angegebenen Daten generieren?

Wie kann ich in C# ein Array von Daten zwischen zwei angegebenen Daten generieren?

Patricia Arquette
Freigeben: 2025-01-10 21:12:41
Original
799 Leute haben es durchsucht

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

Generieren Sie ein Datumsarray innerhalb des angegebenen Datumsbereichs

In einigen Fällen ist es zur genauen Darstellung von Daten in einem Diagramm mit mehreren Reihen erforderlich, eine vollständige Liste aller Daten in einem bestimmten Bereich zu erstellen. Wenn beispielsweise die Datumsbereiche verschiedener Datenreihen im Diagramm unterschiedlich sind, wird das Diagramm aufgrund der Inkonsistenz der Zeitachse der X-Achse geneigt.

Es gibt mehrere Möglichkeiten, ein Array oder eine Liste aller Daten innerhalb eines bestimmten Datumsbereichs zu erstellen. Zwei gängige Methoden umfassen die Verwendung von LINQ zur Verbesserung der Einfachheit und Lesbarkeit und die Verwendung von for-Schleifen zur Erzielung einer klareren Steuerung.

LINQ-Methode

<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days)
          .Select(offset => start.AddDays(offset))
          .ToArray();</code>
Nach dem Login kopieren

Bei dieser Methode generiert die Methode Range eine Zahlenfolge von 0 bis zur Gesamtzahl der Tage im Datumsbereich, und die Methode Select wandelt jede Zahl in ein Datum um, indem sie zum Startdatum addiert wird. Das Ergebnis ist ein Array, das alle Datumsangaben im angegebenen Bereich enthält.

For-Schleifen-Methode

<code class="language-csharp">var dates = new List<DateTime>();
for (var dt = start; dt <= end; dt = dt.AddDays(1)) {
    dates.Add(dt);
}</code>
Nach dem Login kopieren

Diese Methode verwendet eine for-Schleife, um jedes Datum im angegebenen Bereich schrittweise zur Liste hinzuzufügen. Die Schleife wird fortgesetzt, bis das Enddatum erreicht ist, um sicherzustellen, dass alle Daten enthalten sind.

Füllen Sie fehlende Werte mit Standardwerten

Um Szenarios zu bewältigen, in denen in einigen Serien möglicherweise Daten für bestimmte Daten fehlen, sollten Sie erwägen, diese Daten mit Standardwerten zu füllen. Dies kann erreicht werden, indem ein Wörterbuch verwendet wird, jedes Datum mit seinem entsprechenden Wert verknüpft wird und ein Standardwert verwendet wird, wenn kein Wert vorhanden ist.

<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) ? timeSeries[date] : defaultValue);</code>
Nach dem Login kopieren

In diesem Beispiel ordnet das Wörterbuch jedes Datum seinem Wert zu und für Datumsangaben, die in der Zeitreihe nicht vorhanden sind, wird ein Standardwert zugewiesen. Bei diesem Ansatz behält der resultierende Datensatz einen konsistenten Datumsbereich bei und füllt Standardwerte für fehlende Datenpunkte auf.

Das obige ist der detaillierte Inhalt vonWie kann ich in C# ein Array von Daten zwischen zwei angegebenen Daten generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage