C# 用当前日期之后的30个日期填充列表框
我正在尝试从今天开始填充我的列表框,直到接下来的30天。我的当前代码从当前月份填充我的文本框。我如何只获取今天到接下来30天的日期值C# 用当前日期之后的30个日期填充列表框,c#,visual-studio-2015,C#,Visual Studio 2015,我正在尝试从今天开始填充我的列表框,直到接下来的30天。我的当前代码从当前月份填充我的文本框。我如何只获取今天到接下来30天的日期值 int year = 2018; int month = 2; DateTime date = new DateTime(year, month, 1); //DateTime Today = DateTime.Today; //DateTime expiryDate = Today.AddDays(30); do { date = date.AddD
int year = 2018;
int month = 2;
DateTime date = new DateTime(year, month, 1);
//DateTime Today = DateTime.Today;
//DateTime expiryDate = Today.AddDays(30);
do
{
date = date.AddDays(1);
var dateonly = date.ToShortDateString();
listBox1.Items.Add(dateonly);
}
while (date.Month == month);
因此,您知道限制(此处为30天)。那为什么不用计数器来做这样的事情呢
DateTime currentDate = DateTime.Now;
for (int dayCount = 1; dayCount <= 30; dayCount++)
{
var date = currentDate.AddDays(dayCount);
var dateonly = date.ToShortDateString();
listBox1.Items.Add(dateonly);
}
DateTime currentDate=DateTime.Now;
对于(int dayCount=1;dayCount,可以使用可枚举范围:
DateTime date = new DateTime(year, month, 1);
Enumerable.Range(0, 30).ToList().ForEach(day => listBox1.Items.Add(date.AddDays(day).ToShortDateString()));
我认为在提出此类问题之前,您应该先了解循环的基本知识。Enumerable.Range(1,30)
…以及为什么要使用of type
的Enumerable.Range
的返回值是IEnumerable
已经?Enumerable.Range(0,30)返回0到29之间的30个值。因为我需要ForEach,它仅适用于列表。OP希望在30天内为循环中的每个值添加1天。0-29不正确,是吗?是的,ForEach仅在调用ToList后可用,但您不需要键入。谢谢您的回答