【发布时间】:2012-12-30 23:36:26
【问题描述】:
我有这个 var,但我想根据语句更改它的内容,我无法让它工作,因为当我使用它时,VS 说它没有被声明,即使语句是真的......
if (DateTime.Today.Day > 28 && DateTime.Today.Day < 2)
{
var days = GetDaysLikeMe(DateTime.Today).Take(50).Where(d => d.Date.Day > 28 && d.Date.Day < 2).Take(4);
}
else
{
var days = GetDaysLikeMe(DateTime.Today).Take(50).Where(d => d.Date.Day < 28 && d.Date.Day > 2).Take(4);
}
编辑:
我尝试在框外声明变量...但也无法正常工作,我在 var days 上保留的函数是这个
public IEnumerable<DateTime> GetDaysLikeMe(DateTime currentDate)
{
DateTime temp = currentDate;
while (true)
{
temp = temp.AddDays(-7);
yield return temp;
}
}
【问题讨论】:
-
你想在哪里使用它?在
if或else块内?还是在外面? -
永远不要在 if 语句中声明变量,大多数编译器会阻止你这样做。先声明变量,然后根据语句进行更改。
-
DateTime.Today.Day怎么可能同时大于 28 又小于 2?