【发布时间】:2014-01-25 10:05:49
【问题描述】:
我有这个简单的for 循环,里面什么都没有。现在运行几乎需要 2 秒,但如果我将 _img.width 替换为 512,那么它几乎可以在 0.001 毫秒内运行。有什么问题?我应该分配一个局部变量而不是使用_img.width吗?我想知道为什么它运行得更快,因为它只是一个数字。
for (int aRowIndex = 0; aRowIndex < _img.width; aRowIndex += subsample)// For por cada fila de cada imagen
{
for (int aColumnIndex = 0; aColumnIndex < _img.height; aColumnIndex += subsample)//For por cada columna
{
}
}
【问题讨论】:
-
而
_img.Width本身的值原来也是512?也许这是一个必须首先计算的属性并且会占用时间? -
正如 DrCopyPaste 建议的那样,将 _img.Width 和 _img.Height 移出循环到局部变量中,以检查值是否需要时间加载。过去我在访问远程打印机设置时就是这种情况。
标签: c# performance loops for-loop