Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法把这个做成开关盒?_C#_If Statement_Switch Statement - Fatal编程技术网

C# 有没有办法把这个做成开关盒?

C# 有没有办法把这个做成开关盒?,c#,if-statement,switch-statement,C#,If Statement,Switch Statement,我知道如果我有一个参数,我可以做开关的情况下,但我有4和第三个需要改变 if (GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service) == "Section A") { } #region Advocacy else if (GetoptionsetText("lead", "capg_calculatorutilized", 126

我知道如果我有一个参数,我可以做开关的情况下,但我有4和第三个需要改变

if (GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service) == "Section A")
        {

        }



        #region Advocacy

        else if (GetoptionsetText("lead", "capg_calculatorutilized", 126350004, service) == "Advocacy")
        {

        }
        #endregion

        #region Partner

        else if (GetoptionsetText("lead", "capg_calculatorutilized", 126350005, service) == "Partner")
        {

        }
        #endregion
当有多个参数时,我在网上找不到任何显示方法的东西。我的第一个想法是创造

string _a = GetoptionsetText("lead", "capg_calculatorutilized", 126350004, service)
但那不行,我已经试过了。我是否应该使用新参数为每个函数重新创建函数GetoptionsetText。那么它将是getoptionsetext1(,126350003)?这样行吗?
有什么想法吗?

没有,您正在调用一个方法来获取字符串,并且在这些方法调用中传递的第三个参数在每种情况下都是不同的

switch语句将根据每个case值计算一个结果

每个案例标签指定一个常量值。switch语句将控制转移到其大小写标签与switch表达式的值匹配的switch节(本例中为caseSwitch)


否,您正在调用一个方法来获取字符串,在这些方法调用中传递的第三个参数在每种情况下都是不同的

switch语句将根据每个case值计算一个结果

每个案例标签指定一个常量值。switch语句将控制转移到其大小写标签与switch表达式的值匹配的switch节(本例中为caseSwitch)


能否先将值输入
字符串中,然后使用
开关
语句

string value = GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service);

switch(value)
{
    case "Section A":
        // ...
        break;

    case "Advocacy":
        // ...
        break;

    case "Partner":
        // ...
        break;
}

另外,为什么要使用字符串来表示类型?听起来您可能更适合使用。

您能否先将值输入
字符串
,然后使用
开关
语句

string value = GetoptionsetText("lead", "capg_calculatorutilized", 126350000, service);

switch(value)
{
    case "Section A":
        // ...
        break;

    case "Advocacy":
        // ...
        break;

    case "Partner":
        // ...
        break;
}

另外,为什么要使用字符串来表示类型?听起来您可能更适合使用。

您的问题是删除所有不必要的代码,只留下您所说的
if
语句吗?寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为,一个特定的问题或错误,以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。-这里也一样。拿出不需要的东西,代码就行了。我只是想知道这是否会成为一个切换情况,因为我有大约6个字符串来匹配函数GetoptionsetText to您的数值(上面的神奇数字,例如126350000)在每种情况下都在变化,所以不会。您是否可以问一下您的问题,删除所有不必要的代码,如果只剩下您正在谈论的
if
语句,那么寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例。-这里也一样。拿出不需要的东西,代码就行了。我只是想知道这是否会成为一个开关案例,因为我有大约6个字符串来匹配函数GetoptionsetText to您的数值(上面的神奇数字,例如126350000)在每种情况下都在变化,所以不会。谢谢您的澄清。谢谢您的澄清。