switch-case语句中的多个变量[重复]

Posted

技术标签:

【中文标题】switch-case语句中的多个变量[重复]【英文标题】:Multiple variables in switch-case statement [duplicate] 【发布时间】:2014-11-10 18:11:45 【问题描述】:

是否可以从多个switch语句返回结果?

例如,我想在我的案例中使用employee.DepartmentID 和employee.StatusID。但是我如何在这个声明中包含employee.StatusID?使用和/或运算符?

                switch (employee.DepartmentID)
            
                case 1:
                    EMAIL = "abc@gmail.com";
                    break;
                case 2:
                    EMAIL = "abcd@gmail.com";
                    break;
            

【问题讨论】:

如果您正在寻找switch (employee.DepartmentID || employee.StatusID),那么这是不可能的。 这听起来不像是一个可行的解决方案。你可以连接字符串switch(employee.DepartmentID + employee.StatusID 那么如果部门是1,状态是2,应该怎么办? 你能举例说明你理想的 switch 语句应该是什么样子吗?并且(基于@Servy 提出的问题)为什么 departmentID = 1 和 Status = 2 与 departmentID = 2 和 status = 2 或 departmentID = 1 和 status = 1 不同。基本上,您从多重中寻找的好处是什么条件。 那么,您是否根据状态为每个部门提供了单独的电子邮件?好的。我们可以合作。 【参考方案1】:

你真正需要的是这个。

使用 Switch 确定涉及哪个部门

  Switch (DepartmentID)
  

     case  1:
         Email = classHR.GetEmailAddress(Status);
         break;
     case  2: 
         Email = classMarketing.GetEmailAddress(Status);
         break;
   

为不同的部门使用静态类(最好使用接口)。

这会让你得到比你在这里想的更好的结果。

【讨论】:

别忘了break; 感谢更新;

以上是关于switch-case语句中的多个变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在c中使用带有字符串的switch-case语句吗? [重复]

switch语句和switch-case与if-else之间的转换

java中的switch

C语言中的Switch-case语句

如何在 Django 模板中获得“switch-case”语句功能?

Java中的switch-case语句