如何在switch语句中使用通配符?

Ada*_*331 6 c# wildcard switch-statement

我有一个使用3个字母的字符串的switch语句.对于很多情况(但不是全部)我只想关注前2个字母.

例如,我希望每个以"FF"开头的代码都处理相同:

switch(code)
{
   case "FF(?)":
      // Handle it
      break;
   default:
      break;
}
Run Code Online (Sandbox Code Playgroud)

我能在这做什么?我可以使用通配符吗?我是否必须考虑每个FF代码?

出于显而易见的原因,我不希望有这样的代码,这可能会变得非常大:

case "FFA":
case "FFB":
case "FFD":
    // Handle it
Run Code Online (Sandbox Code Playgroud)

Nat*_*n A 5

做你的前两个字符,而switch不是case.

使用default案例然后回到三个字母的情况.它不是最干净的,但它会起作用.if如果交换机没有切断它,有时语句是可行的.

switch(code.Substring(0, 2))
{
    case "FF":
       ...
    default:
        switch(code)
        {
            case "ABC":
                ....
        }
}
Run Code Online (Sandbox Code Playgroud)

  • But sometimes I will need to handle all 3 letters. (2认同)

Rob*_*vey 5

使用if then else这些类型的比较.switch case为易于识别为离散值的案例保留您的陈述.