如何:提高循环的性能

更新:2007 年 11 月

使用最高效的数据类型可以优化循环的性能。对于不需要运行多次的短循环,差异可能微不足道。但是,如果循环运行大量次数,性能的提高则可能相当大。

Integer 和 UInteger 是当前平台上最高效的类型。Short、Long、UShort 和 ULong 不是那么高效,而 Decimal 则慢多了。有关更多信息,请参见 数字数据类型

优化 For...Next 循环的性能

  • 在控制变量中使用最高效的数据类型。下面的示例演示几种可能的循环变化形式。绝对计时取决于平台,但运行时比较仍然有效。

    For fastest As Integer = 0 to 1000000
        ' Insert statements to execute for each value of fastest.
    Next fastest
    For notAsFast As Long = 0 to 1000000
        ' Insert statements to execute for each value of notAsFast.
    Next notAsFast
    For muchSlower As Decimal = 0 to 1000000
        ' Insert statements to execute for each value of muchSlower.
    Next muchSlower
    

    第一种情况运行所需时间比第二种情况稍短。但是,Integer 能处理的最大值仅为 2,147,483,647,而 UInteger 能处理的最大值也仅为 4,294,967,295。第二和第三种情况可以处理更大的值,这是因为 Long 和 Decimal 接受更大范围的整数,但它们的运行速度更慢。您可能需要在所用数据类型的速度和容量之间作出设计决策。

请参见

任务

如何:将控制转移到控制结构外

如何:重复运行多条语句

如何:为集合或数组中的每个元素运行多个语句

如何:跳转到循环的下一次迭代

概念

循环结构

参考

For...Next 语句 (Visual Basic)

其他资源

控制流 (Visual Basic)