Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menjana Tatasusunan atau Senarai Julat Tarikh dalam C#?

Bagaimana untuk Menjana Tatasusunan atau Senarai Julat Tarikh dalam C#?

Susan Sarandon
Lepaskan: 2025-01-10 21:21:44
asal
505 orang telah melayarinya

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

Jana tatasusunan julat tarikh atau senarai dalam C#

Apabila menjana berbilang siri data dalam carta yang menggunakan tarikh sebagai paksi X, adalah penting untuk mempunyai senarai tarikh lengkap yang meliputi keseluruhan julat. Ini memastikan bahawa semua siri mempunyai nilai tarikh yang konsisten, walaupun mereka tidak mempunyai data untuk semua tarikh.

Kaedah LINQ

Cara yang cekap ialah menggunakan LINQ:

<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days)
          .Select(offset => start.AddDays(offset))
          .ToArray();</code>
Salin selepas log masuk

Kod ini mencipta senarai tarikh bermula pada permulaan julat tarikh (mula) dan meningkat sekali sehari sehingga penghujung julat (tamat) dicapai.

Untuk kaedah gelung

Sebagai alternatif, anda boleh menggunakan gelung for:

<code class="language-csharp">var dates = new List<DateTime>();

for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
   dates.Add(dt);
}</code>
Salin selepas log masuk

Gelung ini mencipta senarai tarikh dengan cara yang sama seperti kaedah LINQ.

Nilai isian

Untuk mengisi nilai lalai siri tarikh yang tiada, anda boleh menghitung semua tarikh dalam julat penuh dan mengisinya:

<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsDate(date) 
                                               ? timeSeries[date] : defaultValue);</code>
Salin selepas log masuk

Kod ini mencipta kamus yang kuncinya ialah tarikh dan nilainya ialah data. Jika tarikh wujud dalam siri, nilai yang sepadan akan diambil jika tidak, nilai lalai ditetapkan.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Tatasusunan atau Senarai Julat Tarikh dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan