Недоступный код - все, что вставлено внутрь оператора if
Я искал этот вопрос здесь, прежде чем спрашивать, и все ответы, кажется, люди ставят код после return
break
или другие У меня возникла проблема, когда независимо от того, что я вставил в оператор 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.
}