Datumsbereichsarray oder -liste in C# generieren
Wenn Sie mehrere Datenreihen in einem Diagramm generieren, das Datumsangaben als X-Achse verwendet, ist es wichtig, eine vollständige Liste der Datumsangaben zu haben, die den gesamten Bereich abdeckt. Dadurch wird sichergestellt, dass alle Serien konsistente Datumswerte haben, auch wenn nicht für alle Daten Daten vorhanden sind.
LINQ-Methoden
Eine effiziente Möglichkeit ist die Verwendung von LINQ:
<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days) .Select(offset => start.AddDays(offset)) .ToArray();</code>
Dieser Code erstellt eine Liste von Daten, die am Anfang des Datumsbereichs (Start) beginnt und einmal pro Tag erhöht wird, bis das Ende des Bereichs (Ende) erreicht ist.
For-Schleifenmethode
Alternativ können Sie eine for-Schleife verwenden:
<code class="language-csharp">var dates = new List<DateTime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); }</code>
Diese Schleife erstellt eine Liste von Datumsangaben auf die gleiche Weise wie die LINQ-Methode.
Wert füllen
Um den Standardwert einer Reihe für fehlende Daten einzugeben, können Sie alle Daten im gesamten Bereich auflisten und ausfüllen:
<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsDate(date) ? timeSeries[date] : defaultValue);</code>
Dieser Code erstellt ein Wörterbuch, in dem die Schlüssel Datumsangaben und die Werte Daten sind. Wenn ein Datum in der Serie vorhanden ist, wird der entsprechende Wert abgerufen; andernfalls wird ein Standardwert zugewiesen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich ein Datumsbereichsarray oder eine Datumsbereichsliste in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!