对于同一个问题:Integer型变量x处在3个不同区间时进行不同逻辑的运算,分别用Select和If来处理:
Select Case x
Case 0 To 9
Case 10 To 19
Case 20 To 29
End Select
If x >= 0 Then
If x <= 9 Then
ElseIf x <= 19 Then
ElseIf x <= 29 Then
End If
End If
当执行次数比较多时,效率上有多大的差别?当分支比较多时又如何呢?
从观念上说,If和Else分支的地位不等同,各Case分支地位是等同的,所以即使碰到只有两个分支的选择逻辑,如果各分支地位等同我也会选择用Select。但今天在摆弄代码度量的时候发现上面那种区间选择对圈复杂度的贡献相当大,于是有所动摇,希望能寻找一点坚持Select的理由~~~~
Select Case x
Case 0 To 9
Case 10 To 19
Case 20 To 29
End Select
If x >= 0 Then
If x <= 9 Then
ElseIf x <= 19 Then
ElseIf x <= 29 Then
End If
End If
当执行次数比较多时,效率上有多大的差别?当分支比较多时又如何呢?
从观念上说,If和Else分支的地位不等同,各Case分支地位是等同的,所以即使碰到只有两个分支的选择逻辑,如果各分支地位等同我也会选择用Select。但今天在摆弄代码度量的时候发现上面那种区间选择对圈复杂度的贡献相当大,于是有所动摇,希望能寻找一点坚持Select的理由~~~~