是否可以在类成员函数中使用switch语句并获取访问器?

时间:2013-01-30 21:47:41

标签: c# class function get switch-statement

这是课程(放松,这只是一个例子而不是用于具体用途):

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

我在break关键字上收到“无法检测到代码”错误。甚至可以在类或类成员函数中编写switch语句吗?或者,我是否坚持使用if-else块?

根据以下反馈,我发现我犯了一个愚蠢的错误,在休息之前返回

3 个答案:

答案 0 :(得分:7)

“无法访问代码”警告是因为您的break语句紧跟return语句。因此,永远不会执行break

答案 1 :(得分:3)

您在break上收到无法访问的代码,因为代码无法访问。 return确保了这一点。你可以删除break语句,一切都应该正常。

您可以通过以下两种方式之一重写开关:

switch(index)
{
  case 0: return 100;
  case 1: return 500;
  case 2: return 1000;
}

int value = 0;
switch(index)
{
   case 0:
     value = 100;
     break;
   case 1:
     value = 500;
     break;
   case 2:
     value = 1000;
     break;
}
return value;

答案 2 :(得分:1)

您可以使用变量来保存您的号码,在切换后,您返回变量。

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