我正在尝试编写代码(在 Visual Studio 2012 中使用 c#),允许用户使用 1、2、3 或 4 选择帐户。我正在使用 do-while 循环,所以我可以使用 0 退出(中断? ) 或再次运行循环,直到选择了有效选项。
问题是,Visual Studio 告诉我代码validAccount = true;
无法访问,并且不允许我对其进行测试。因为这个方法也应该返回一个值,所以我有一个“并非所有代码路径都返回一个值”错误,我真的很困惑。这是我的代码:
static int chooseAccount() {
bool validAccount = false;
do {
Console.Clear();
Console.WriteLine("Select an Account: \r\n 1: Savings \r\n 2: Debit \r\n 3: Credit \r\n 4: Investment");
int inputNumber = int.Parse(Console.ReadLine()); //by declaring int inputNumber here we save having an extra line.
if ((inputNumber >= 1) && (inputNumber <= 4)) {
return inputNumber;
validAccount = true;
}
else if (inputNumber == 0) {
break;
}
else {
Console.WriteLine("Error: please choose an account using 1, 2, 3, 4 or 0 to exit");
}
} while (!validAccount);
}//end chooseAccount
也许我只是盯着这个太久了,看不到我犯的简单错误。如果此类问题已经解决,我欢迎新的视角或方向来找到解决方案。(当代码必须如此具体时,很难用谷歌搜索“无法访问的代码”之类的东西......)