c# - 在 if 语句中声明 var C#

标签 c# variables

我有这个 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/

相关文章:

c# - 如何避免复制/粘贴许多事件处理程序

c# - 应付发票捕获或提取自动化

c# - 在 VS Code 中使用 DAPR 运行带有服务总线触发器的 Azure Function 时出错

variables - OpenMP - for 循环中的变量声明

php - 使用变量作为发布到 php/mysql 的值

MySQL如何设置addtime的变量结果

javascript - 如何在值字段中引用 JavaScript 变量?

c# - Angular Controller 未被调用

c# - 如何在C++项目中使用DLL库文件?

c++ - 按作用域获取变量