以下代码将生成编译器错误。
string GetAgePhrase(int age)
{
if (age > 50) return "Naresh";
if (age > 30) return "Ravi";
if (age > 10) return "Nagendra";
if (age > 9) return "Jagan";
if (age > 2) return "Raja";
}
以下哪个语句插入为最后一行 功能,会解决问题吗?
答案 0 :(得分:2)
这段代码的问题在于并非代码的所有路径都返回一个值...即如果年龄为0会怎样?您可以通过在最后一个if语句return null
之后添加此方法来解决此问题,如果没有满足任何条件,它将始终具有返回值。
答案 1 :(得分:0)
您的方法并不总是返回一个值,因此只是在所有if语句之后返回一个默认值。
string GetAgePhrase(int age)
{
if (age > 50) return "Naresh";
if (age > 30) return "Ravi";
if (age > 10) return "Nagendra";
if (age > 9) return "Jagan";
if (age > 2) return "Raja";
return null;
}