OrE*_*lse 19 vb.net select-case
以下是关于退出选择的几个问题......
break;?例1
Select case Name
case "Mary"
'...
case "John"
'...
case else
end select
Run Code Online (Sandbox Code Playgroud)
例2
Select case Name
case "Mary"
'...
exit select
case "John"
'...
exit select
case else
end select
Run Code Online (Sandbox Code Playgroud)
Joe*_*orn 37
这与使用类似C语言的语句的break关键字不同switch.使用a switch,如果省略中断控制,它将进入下一个案例.使用Visual Basic Select,控件不会失败; a 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
Run Code Online (Sandbox Code Playgroud)
这比同等的代码好一点:
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
Run Code Online (Sandbox Code Playgroud)
与其他因素相比,这两个样本之间的任何性能差异几乎肯定都是微不足道的.
另一个用途是如果你有很多案例,并且其中一个案例被放置,以便匹配意味着你想要停止检查所有其他案例.这已经发生了,所以你可能只有一个空的case语句.但是你也可以添加一个Exit Select来向维护者明确表示你希望这种情况不会做任何其他事情.
好吧......就像使用goto一样......一旦你找到了正确的案例就没有用"退出"案例,因为在Visual Basic中它会出去.在C#中你需要退出案例(在这种情况下,休息一下).
关键是你可以在案例范围的中间使用它,例如:
Case 1
Do something
Do something
Evaluate
exit select
Else
Do something
Run Code Online (Sandbox Code Playgroud)
这很难看,但你可以做到......
| 归档时间: |
|
| 查看次数: |
26530 次 |
| 最近记录: |