为什么我的函数会告诉我;检测到无法访问的代码吗?c#
本文关键字:访问 代码 函数 我的 告诉我 检测 为什么 | 更新日期: 2023-09-27 18:25:01
我创建了这个函数:
public bool checkFunds(int x)
{
if(checksBox.CheckState == CheckState.Checked && OriginalMain.temporaryChecks >= x)
{
return true;
}
else
{
MessageBox.Show("Error! Insufficient funds");
return false;
}
if(savingsBox.CheckState == CheckState.Checked && OriginalMain.temporarySavings >= x)
{
return true;
}
else
{
MessageBox.Show("Error! Insufficient funds!");
return false;
}
}
此代码适用于windows窗体应用程序。我正在制作一个银行模拟器,你可以从两个不同的账户中选择取出你的钱。此功能特别检查您选中的复选框,并检查所选帐户上是否有足够的可用资金。然而,C#一直告诉我,第二个if是一个无法访问的代码。为什么?我该怎么修?
您会收到警告,因为您的函数必须在以下位置之一退出:
if(checksBox.CheckState == CheckState.Checked && OriginalMain.temporaryChecks >= x)
{
return true; // <-- if the condition is true, your function will exit here
}
else
{
MessageBox.Show("Error! Insufficient funds");
return false; // <-- if the condition is false, your function will exit here
}
// this means this place in code is NEVER reached, so you get the warning
if(savingsBox.CheckState == CheckState.Checked && OriginalMain.temporarySavings >= x)
很可能你需要类似的逻辑:
if(checksBox.CheckState == CheckState.Checked)
{
if(OriginalMain.temporaryChecks >= x)
{
return true;
}
else
{
MessageBox.Show("Error! Insufficient funds");
return false;
}
}
if(savingsBox.CheckState == CheckState.Checked)
{
if(OriginalMain.temporarySavings >= x)
{
return true;
}
else
{
MessageBox.Show("Error! Insufficient funds!");
return false;
}
}