我在询问之前在这里搜索了这个问题,并且所有答案似乎都是人们在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();
}
}
代码仍然没有执行。我不知道发生了什么......
答案 0 :(得分:2)
您已将quarterPrice
和halfPrice
定义为constants
。编译器知道quarterPrice
永远不会超过halfPrice
,并且会向您发出警告。
例如,您可以生成相同的警告。
if (false)
{
int i = 1;
// Do other work.
}
答案 1 :(得分:2)
您已将变量定义为常量。编译器知道if语句中的条件永远不会为真。