c# - switch 语句可以有多个变量吗?

标签 c# java php python switch-statement

问题基于所有使用 switch block 的语言(C++、C# PHP、Java、Python 等)。那么有没有可能有这样的东西呢?

switch (var1, var2)
case  var1 = a:
    something
    break;
case var2 = b:
    something
    break;
case var1 = 0 ,var2 = 1
     etc...

最佳答案

Python 没有 switch 语句。推荐的替代方法是使用链式 if/else 链 - 无论如何,这是您应该在您的情况下使用的。

另一个常见的习惯用法是使用 map 。在您的情况下,您可以使用 (var1,var2) 的元组来匹配结果。

switch = {
   (1,2): lambda: ..,
   (3,4): lambda: ...,
}
switch[(var1,var2)]

我不确定这是否常用,但至少它是可能的。

关于c# - switch 语句可以有多个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5436983/

相关文章:

C# - 第二个参数等于字符串长度的字符串 IndexOf 方法

java - jackson 日期格式问题 : java bean to JSON string conversion

java - Google 编码挑战未检测到 int

javascript - 每隔一段时间从目录加载图像

php - 从 GPS 坐标获取区域的文本描述

java - 在weka中组合多个保存的分类器

c# - 仅包含接口(interface)的 WinRT 组件 DLL?

c# - 如何从委托(delegate)访问变量?

java - 如何获取ItemProcessor中当前的资源名称?

PHP DOM : parsing a HTML list into an array?