【问题标题】:Unreachable code detected, variable in if statement检测到无法访问的代码,if 语句中的变量
【发布时间】:2016-09-11 04:03:56
【问题描述】:
for (int i = 0; i < numOfHours; i ++)
{
    for (int a = 0; a < NUM_DAYS; a ++)
    {
        Color colour;
        if (NUM_DAYS == SATURDAY)
        {
            //It says that this is unreachable
            colour = Color.LightBlue;

        }
        else 
        {
            colour = Color.White;
        }
        SolidBrush fill = new SolidBrush(colour);
        Pen outline = new Pen(Color.Black);
        paper.FillRectangle(fill, a * apptWidth, i * apptHeight, apptWidth, apptHeight);
        paper.DrawRectangle(outline, a * apptWidth, i * apptHeight, apptWidth, apptHeight);

    }
}

我不确定为什么它不会改变颜色变量。我已经设置了一个日历,它将根据他们一天中有多少小时绘制一个网格,因此行将是他们拥有的小时数,而列将是天数。我想更改代表星期六的框的颜色。提前谢谢你。

【问题讨论】:

  • SATURDAY 是什么类型?此代码无法访问,因为您的 if 永远不会成为真的。
  • NUM_DAYS 是常量吗?可能你想检查if (a == SATURDAY)
  • 是的,绝对是a
  • 如果这回答了您的问题,请单击复选标记,以便将其从未回答列表中移出。如果有帮助,请单击upvote 按钮以帮助其他人找到好的答案。见Tour

标签: c# variables if-statement for-loop


【解决方案1】:

大概NUM_DAYSSATURDAY 都是常量,所以你的 if 语句中的表达式总是返回 false(因为它们看起来不一样)。

我想你的意思是:

if (a == SATURDAY)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2014-02-01
    • 2011-05-09
    相关资源
    最近更新 更多