代码将生成编译错误

本文关键字:编译 错误 代码 | 更新日期: 2023-09-27 18:06:07

下面的代码将生成一个编译错误。

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";
   }

下列哪条语句,插入到函数,能解决问题吗?

代码将生成编译错误

这段代码的问题是,并不是代码的所有路径都返回值…也就是说,如果age是0呢?您可以通过在最后一个if语句return null后面添加这样的方法来解决这个问题:如果没有满足任何条件,它将始终具有返回值。

你的方法并不总是返回一个值,所以只是在所有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;
   }