首页 >后端开发 >C++ >如何在 C# 中生成日期范围数组或列表?

如何在 C# 中生成日期范围数组或列表?

Susan Sarandon
Susan Sarandon原创
2025-01-10 21:21:44508浏览

How to Generate a Date Range Array or List in C#?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn