首页 /编程语言和算法/VB6/ASP
 VB6 For i = 0 To UBound(arrB)的UBound(arrB)是否需要先做成一个变量避免每个循环都计算?
2024年2月29日 16:12

新建From1(窗体),新建Command1(按钮CommandButton),代码:

Private Sub Command1_Click()
    Dim i As Long
    Dim arrB() As Byte
    ReDim arrB(3)

    For i = 0 To UBound(arrB)
        Debug.Print i
        ReDim arrB(5)
    Next

    Debug.Print "------"
    i = 0
    
    Dim intN As Integer
    intN = 4
    For i = 0 To intN
        Debug.Print i
        intN = 8
    Next
End Sub

运行结果:

 0 
 1 
 2 
 3 
------
 0 
 1 
 2 
 3 
 4

看来For i的时候已经固化,不会修改i的范围,所以无需把UBound(arrB)是先做成一个变量。做成变量反而需要更多的代码和CPU时间。

按一步步运行发现,不会到For那行,所以不会影响。

 
全部回复(0)
首页 | 电脑版 |