vb.net – 为什么要使用退出选择?

以下是我收集的关于退出选择的几个问题

>在VB.NET中是否有任何退出选择的原因?
这个原因与表现有什么关系吗?
出口选择是否等于断开?

实施例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
使用break关键字与C语言的switch语句不同.有了一个开关,如果你省略了中断控制,那么它会落到下一个例子中.使用Visual Basic Select,控件不会通过;已经暗示了一个休息.

但是,您可以将其用作保护子句,以避免在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

与其他因素相比,这两个样本之间的任何性能差异几乎肯定是微不足道的.

另一个用途是,如果你有很多情况,并且其中一个情况被放置,以便匹配意味着你想停止检查所有其他的情况.这已经发生了,所以你可能只有一个空的case语句.但是您也可以添加一个“退出选择”,以便向维护者明确表示您期望本案不执行任何操作.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...