[英]Is it possible to use switch statement inside class member function and get accessor?
Here is the class (relax, it's just an example and not intended for concrete use): 这是类(放松,它只是一个例子,并不打算具体使用):
public class Sample
{
public Sample()
{
}
public string Size
{
get
{
switch (index)
{
case 0: return 100;
break;
case 1: return 500;
break;
case 2: return 1000;
break;
...
}
}
}
}
I am getting an "Unreachable code detected" error on the break keyword. 我在break关键字上收到“检测不到代码”错误。 Is it even possible to write switch statements inside a class or class member function?
甚至可以在类或类成员函数内编写switch语句吗? Or, am I stuck with if-else blocks?
或者,我是否坚持使用if-else块?
Based on the feedback below, I see I made a silly error, with return preceding the break 根据以下反馈,我看到我犯了一个愚蠢的错误,在休息之前返回了
The "unreachable code" warning is because your break
statements are immediately following a return
statement. “无法访问的代码”警告是因为您的
break
语句紧跟在return
语句之后。 Therefore, the break
is never executed. 因此,决不会执行该
break
。
You are getting a unreachable code on the break
because the code is unreachable. 由于代码无法访问,因此您在
break
收到了无法访问的代码。 The return
ensures that. return
确保了这一点。 You can just remove the break
statements and everything should work fine. 您只需要删除
break
语句,一切就可以正常工作。
You can rewrite the switch in either of these two ways: 您可以通过以下两种方式之一重写开关:
switch(index)
{
case 0: return 100;
case 1: return 500;
case 2: return 1000;
}
or 要么
int value = 0;
switch(index)
{
case 0:
value = 100;
break;
case 1:
value = 500;
break;
case 2:
value = 1000;
break;
}
return value;
you can use a variable to save your number, after switch, you return variable. 您可以使用变量保存您的号码,切换后返回变量。
public class Sample
{
public Sample()
{
}
public string Size
{
get
{
int num=0;
switch (index)
{
case 0: num= 100;
break;
case 1: num= 500;
break;
case 2: num= 1000;
break;
}
return num;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.