我正在使用经典的asp函数返回一个数组,如下所示:
function myArray()
dim tmpArray(2)
tmpArray(0) = "abc"
tmpArray(1) = "xyz"
tmpArray(2) = "bob"
myArray = tmpArray
end function
我想知道这样重建它是否有任何好处,绕过tmpArray变量?
function myArray()
myArray(0) = "abc"
myArray(1) = "xyz"
myArray(2) = "bob"
end function
我知道在这样简单的事情上,性能不是很大的问题......但是在部署的代码中,我们可能会使用大量的这些数组,每个数组都包含数百个项目。
奖金问题:
在第二个例子中,我将如何调整数组大小或是否必须是动态的?
答案 0 :(得分:2)
在进行测试时(对于记录,我使用了VBA),第二种方法产生了堆栈溢出错误,因为 myArray(0)=“abc”只是递归调用 myArray()功能。
所以我尝试了另一个测试。而不是第二个函数返回一个数组,我让它设置一个在更高范围内声明的数组,所以我没有必要传递任何数组。
我使用了1,000个元素数组,并将每个函数调用10,000次。对于你的第一个功能,花了8秒钟,第二个功能需要2秒钟。
祝你好运答案 1 :(得分:0)
由于我无法看到您的代码的其余部分用于上下文,因此我不会百分之百确定我的建议,但会说出来,以防它提供您的想法。 根据您的数据来源,有各种内置功能可以满足您的需求。 如果你有一个像" frank,sue,ted,john"然后: - 你有没有看过内置的Split()函数? 或者,如果您的数据位于数据库表中,则: - 你有没有看过内置的GetRows()函数?