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

本文关键字:语句 switch 获取 访问 函数 成员 是否 | 更新日期: 2023-09-27 17:56:39

这是类(放松,这只是一个例子,不打算具体使用):

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 关键字上收到"检测到无法访问的代码"错误。 甚至可以在类或类成员函数中编写开关语句吗? 或者,我是否被 if-else 块所困?

根据下面的反馈,我看到我犯了一个愚蠢的错误,在休息之前返回

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

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

您在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;

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

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