gpt4 book ai didi

c# - 此 switch 语句的编译时错误

转载 作者:行者123 更新时间:2023-11-30 19:07:51 25 4
gpt4 key购买 nike

编译时出错

'UserQuery.ReturnInt(UserQuery.Foo)': 不是所有的代码路径都有返回值

除非我没有在代码中看到某些东西,否则 switch 语句应该返回 0 作为默认值,这样所有代码路径都会返回一个值。

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

最佳答案

任何其他开关 block 都会根据“someOtherValue”的值命中“break”语句。切换后没有 return 语句,因此任何命中“break”的情况都不会返回值。

关于c# - 此 switch 语句的编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3089565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com