情况是我想要把C#的List传入Lua的一个表中,但是一直报错
LuaException: try to get System.Collections.Generic.List`
for k,v in ipairs(newFighters) do
print(k)
print(v.xPos)
--table.insert(fighters2,{xPos = v.xPos,yPos = v.yPos,groupId =num,groupName = v.groupName,camp = v.camp, mode = v.mode,pliotName = v.pliotName,task = v.task,type = v.type,unitNum = v.unitNum})
end
解决方案:
将ipairs改为pairs
ipairs 和 pairs比较
同:都是能遍历集合(表、数组)
异:ipairs 仅仅遍历值,按照索引升序遍历,索引中断停止遍历。即不能返回 nil,只能返回数字 0,如果遇到 nil 则退出。它只能遍历到集合中出现的第一个不是整数的 key。
pairs 能遍历集合的所有元素。即 pairs 可以遍历集合中所有的 key,并且除了迭代器本身以及遍历表本身还可以返回 nil。