【发布时间】:2017-09-22 09:42:33
【问题描述】:
我尝试执行一个简单的代码来研究枚举主题。 然而,我遇到了这个问题:“并非所有代码路径都返回一个值”。 代码如下:
namespace ConsoleAppTest
{
class Program
{
enum Seasons { Winter, Spring, Summer, Fall };
static void Main(string[] args)
{
WhichSeason(3);
}
static Seasons WhichSeason(int month)
{
if (month >= 1 || month <= 3)
{
return Seasons.Winter;
}
else if (month >= 4 || month <= 6)
{
return Seasons.Spring;
}
else if (month >= 7 || month <= 9)
{
return Seasons.Summer;
}
else if (month >= 10 || month <= 12)
{
return Seasons.Fall;
}
}
}
}
我想知道是什么导致了这个问题。 谢谢:)
【问题讨论】:
-
如果
month是14怎么办? -
如果
month == -1应该返回什么? -
我知道,我还没解决拼写错误,只是为了学习枚举
-
不幸的是,计算机不理解这一点,并告诉你“如果有人打错了怎么办?你还没有处理!”
-
@fubo 在许多文化中,是的,但其他文化使用上述代码的约定。当然,在南半球,它被抵消了六个月。