使用pairs代替next。next总是从第一个非nil值开始遍历,直到找到一个非nil值,在删除一个表或者一个足够空的表时,很慢。使用next删除一个10万个元素的表时,耗时约为20秒。而使用pairs仅需要0.04秒。
(A)对
(B)错
参考答案
继续答题:下一题


更多Unity3D试题
- 1在任意一种Lua插件中,都存在类似的机制:在C#层维护一个Cache来引用那些被Lua访问过的C#层对象,防止出现以下的问题:当Lua中再次访问该C#对象时,该对象可能已经被C#层的GC回收掉了,从而导致逻辑错误。所以,在Lua中始终保留某个C#层对象的引用,将会导致其无法被释放,当这样的引用越来越多,就会导致C#层的内存泄漏。
- 2使用Unity3D引擎开发游戏时,对于设计模式的表述错误的是()
- 3使用Unity3D引擎开发游戏时,下面关于观察者模式的缺点说法错误的是
- 4如果需要让一个动态物体也能模拟出全局光照的效果,我们需要用到()
- 5unity3d中,java脚本及c#脚本通常情况下都能运行,但有些时候会出现bug,是因为这两种语言存在语法新旧问题