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) に達するまで 1 日に 1 回増加する日付のリストを作成します。
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 中国語 Web サイトの他の関連記事を参照してください。