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之间的转换