case value:`を何度も記述せずに、複数のcase文をフォールスルーする方法はありますか?
私はこれが機能することを知っています。
switch (value)
{
case 1:
case 2:
case 3:
//do some stuff
break;
case 4:
case 5:
case 6:
//do some different stuff
break;
default:
//default stuff
break;
}
しかし、私はこのようにしたいと思っています。
switch (value)
{
case 1,2,3:
//Do Something
break;
case 4,5,6:
//Do Something
break;
default:
//Do the Default
break;
}
これは他の言語で考えられている構文なのでしょうか?
C++にもC#にも、あなたが言った2番目の方法のための構文はありません。
あなたの最初の方法には何の問題もありません。 しかし、非常に大きな範囲を持っている場合は、一連のif文を使えばよいでしょう。
この構文は、Visual BasicのSelect...Case Statementのものです。
Dim number As Integer = 8
Select Case number
Case 1 To 5
Debug.WriteLine("Between 1 and 5, inclusive")
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8
Debug.WriteLine("Between 6 and 8, inclusive")
Case Is < 1
Debug.WriteLine("Equal to 9 or 10")
Case Else
Debug.WriteLine("Not between 1 and 10, inclusive")
End Select
この構文は C# では使用できません。 代わりに、最初の例の構文を使用する必要があります。