Недоступный код - все, что вставлено внутрь оператора if

Я искал этот вопрос здесь, прежде чем спрашивать, и все ответы, кажется, люди ставят код после returnbreak или другие У меня возникла проблема, когда независимо от того, что я вставил в оператор if, код показывает, что он недоступен.

private const double quarterPrice = 4.50;
private const double halfPrice = 7.50;
private const double fullPrice = 10.00;
private const double taxRate = .08;
private int orders = 0;
private double sales = 0;

private void btnFindMax_Click(object sender, EventArgs e)
{
    if (quarterPrice > halfPrice)//if i put something in here, it is unreachable
    {
        int i = 1;//unreachable
        if (quarterPrice > fullPrice)//unreachable
        {

        }
    }
}

Это расстраивает, потому что я понятия не имею, почему это неправильно, или что нужно сделать, чтобы это исправить. Это не дает мне красного подчеркивания ошибки, только зеленая линия предложения. Однако при компиляции ни один из кодов внутри оператора if не выполняется.

Я даже пытался сделать:

private void btnFindMax_Click(object sender, EventArgs e)
{
    if (quarterPrice < halfPrice)
    {
       Close();
    }
}

И код все еще не выполнялся. Я понятия не имею, что происходит..

2 ответа

Вы определили переменные как константы. Компилятор знает, что условие в вашем операторе if никогда не будет истинным.

Вы определили quarterPrice а также halfPrice как constants, Компилятор знает, что quarterPrice никогда не будет больше, чем halfPrice и предоставляет вам предупреждение.

Например, вы можете выдать такое же предупреждение, как это.

if (false)
{
    int i = 1;

    // Do other work.
}
Другие вопросы по тегам