Way*_*ner 3 vb.net select language-features if-statement
我刚毕业并开始了一份真正的工作.在我们的培训中,他们向我们展示了VB.NET以及他们在这里使用的许多功能.在一些例子中,他们使用了Select语句(在一些地方,它们被用于If/Else真正应该使用的地方).
我在其他语言中使用switch/select语句的唯一一次(除了需要它的赋值)是我想要进入下一个语句的时候.
鉴于VB.NET没有通过,有什么(如果有的话)使用该Select声明?在它提供优势和If/ElseIf陈述时是否有任何情况?
GSe*_*erg 10
Select Case不只是Select.
对我来说,这是该语言的最佳功能之一.
当你有几个可能的值来测试时,它会更直观.
select case some_var
case 1
something()
case 2
something_else()
case 3
etc()
end select
Run Code Online (Sandbox Code Playgroud)在测试范围时,它更具可读性:
select case some_var
case 1 to 10
something()
case 20 to 30
something_else()
case is > 100
etc()
end select
Run Code Online (Sandbox Code Playgroud)当你有一堆更复杂的条件要测试时,它更具可读性,确保只选择一个:
select case true
case string.isnullorempty(a_string)
something()
case a_string.length < 5
something_else()
case a_string = b_string
etc()
end select
Run Code Online (Sandbox Code Playgroud)它优于C/C++ switch,因为它允许表达式作为分支点,而不仅仅是常量.
当使用常量作为分支点(示例1)时,编译器能够使用直接跳转生成更优化的代码.
Select告诉编译器,类似的If/Else块集中的每个比较(If)都在相同的值上,这使得它可以进行某些更难以确定的优化.例如,它可能更渴望生成在cpu寄存器中保存该值的机器代码(这只是假设...不同的编译器可以做他们想要的事情).
此外,我们中的一些人发现Select更具可读性.遵循您自己找到的任何团队或单位的编码标准非常重要.
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |