在 C# 中產生日期範圍數組或列表
在使用日期作為 X 軸的圖表中產生多系列資料時,擁有涵蓋整個範圍的完整日期清單至關重要。這確保了所有系列都具有一致的日期值,即使它們並非所有日期都有資料。
LINQ 方法
一個高效率的方法是使用 LINQ:
<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days) .Select(offset => start.AddDays(offset)) .ToArray();</code>
此程式碼建立一個日期列表,從日期範圍的開始 (start) 開始,每天遞增一次,直到到達範圍的結束 (end)。
For 循環方法
或者,您可以使用 for 迴圈:
<code class="language-csharp">var dates = new List<DateTime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); }</code>
此循環以與 LINQ 方法相同的方式建立日期清單。
填充值
要為缺少的日期填入系列的預設值,您可以枚舉完整範圍內的所有日期並填入它們:
<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsDate(date) ? timeSeries[date] : defaultValue);</code>
此程式碼建立一個字典,其中鍵是日期,值是資料。如果系列中存在日期,則檢索其對應的值;否則,指派預設值。
以上是如何在 C# 中產生日期範圍陣列或清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!