Visual C#,两个日期之间的日期数组

我有2个DateTimePicker名为dtp1和的控件dtp2。我希望得到这两天之间的日期数组:dtp1.Date.Value <= x <= dtp2.Date.Value。


我目前使用for循环来完成这样的任务,但这并不是一种非常有效的方法:


int c = (int)(dtp2.Value.Date-dtp1.Value.Date).TotalDays + 1;

DateTime[] d = new DateTime[c];


for (int i = 0; i < c; i++)

{

    d[i] = dtp1.Value.Date.AddDays(i);

}

有没有更好和简洁的方法来达到相同的结果?


慕神8447489
浏览 220回答 1
1回答

守着一只汪

我建议您使用列表而不是数组,您可以使用 Enumarable.Rangevar startDate = new DateTime(2013, 1, 25);var endDate = new DateTime(2013, 1, 31);int days = (endDate - startDate).Days + 1; // incl. endDate&nbsp;List<DateTime> range = Enumerable.Range(0, days)&nbsp; &nbsp; .Select(i => startDate.AddDays(i))&nbsp; &nbsp; .ToList();您可以在此处了解有关列表的更多信息
打开App,查看更多内容
随时随地看视频慕课网APP