質問

こちらはカップルでのご質問集まった関口選---

  1. はありま使用した口より選択VB.NET?
  2. は何らかの理由により何ですか。
  3. の選択と同等 break;?

例1

Select case Name
case "Mary"
'...
case "John"
'...
case else

end select

例2

Select case Name
case "Mary"
'...
exit select

case "John"
'...
exit select

case else

end select
役に立ちましたか?

解決

これは、Cのような言語からbreak文でswitchキーワードを使用するのと同じではありません。 switchを使用すると、ブレークコントロールを省略した場合には、次の場合に通じ分類されます。 Visual BasicのSelectでは、コントロールがフォールスルーしません。 breakがすでに暗示されます。

ただし、ネストコードにifブロック内の別のレベルを必要とする避けるために、ガード句として使用することができます。たとえばます:

Select Case SomeEnumVar
    Case SomeEnum.SomeValue1
         If Not SomeCondition Then Exit Select
         'Do something
    Case SomeEnum.SomeValue2
         'Do something else
    Case Else
         'Default case
End Select

これは、この同等のコードよりも少し立派です。

Select Case SomeEnumVar
    Case SomeEnum.SomeValue1
         If SomeCondition Then
             'Do something
         End If
    Case SomeEnum.SomeValue2
         'Do something else
    Case Else
         'Default case
End Select

これら2つのサンプル間の任意のパフォーマンスの違いは、他の要因に比べてほぼ確実に重要ではない。

あなたは例がたくさんある、との一致は、あなたが他のすべてのチェックを停止することを意味するように例1が配置されている場合、

もう一つの使用です。これは、すでに起こり、そしてあなたはただそこに空のcase文を持っているかもしれません。しかし、あなたはまた、あなたがこのような場合は、他の何かをしない期待メンテナにそれを明確にする場合に選択終了]を追加することができます。

他のヒント

うーん...それは後藤を使用してのようなものです...あなたは正しいケースを発見したら、Visual Basicでそれが出て行くことになるので、ケースを「出」には使用することはありません。 C#では、あなたは(その場合には、中断して)ケースを終了する必要があります。

のポイントは、あなたが例範囲、のようなものの真ん中にそれを使用することができるということです

Case 1
   Do something
   Do something
   Evaluate
      exit select
   Else
      Do something

これは醜いですが、あなたはそれを行うことができます...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top