我有这个 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 语句范围之外声明变量:
IEnumerable<DateTime> days;
if (DateTime.Today.Day > 28 && DateTime.Today.Day < 2)
{
days = GetDaysLikeMe(calendario.Value.Date).Take(50).Where(d => d.Date.Day > 28 && d.Date.Day < 2).Take(4);
}
else
{
days = GetDaysLikeMe(calendario.Value.Date).Take(50).Where(d => d.Date.Day < 28 && d.Date.Day > 2).Take(4);
}
关于c# - 在 if 语句中声明 var C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095815/