我得到一個編譯時錯誤這個switch語句
「UserQuery.ReturnInt(UserQuery.Foo)」編譯時錯誤:不是所有的代碼路徑返回一個值
除非我沒有看到在代碼中的東西,switch語句應該返回0作爲默認值,所以所有代碼路徑do都會返回一個值。
enum Foo
{
Bar,
Zoo,
Boo
}
void Main()
{
Foo test = Foo.Bar;
Console.WriteLine (ReturnInt(test));
}
int ReturnInt(Foo test) {
int someOtherValue = 4; // <---Value may change depending on X
switch (test)
{
case Foo.Bar:
if (someOtherValue > 20)
return 1;
break;
case Foo.Zoo:
if (someOtherValue == 5)
return 4;
break;
case Foo.Boo:
if (someOtherValue == 2)
return 7;
break;
default:
return 0;
}
}
好景點!不能相信我錯過了這一點。 – 2010-06-22 01:21:41