千锋教育-做有情怀、有良心、有品质的职业教育机构
1、For,foreach,Enumerator.MoveNext的使用,与内存消耗情况
for通过索引或下标一次进行遍历
foreach和Enumerator.MoveNext通过迭代进行遍历
内存消耗本质没有多少区别
迭代器有一个状态机
before
running:yield return 或 yield break 或迭代结束
after
2、函数中多次使用string的+=处理,会产生大量内存垃圾(垃圾碎片),有什么好的方法可以解决。
使用stringbuilder的append
3、当需要频繁创建使用某个对象时,有什么好的程序设计方案来节省内存?
Unity对象池
设计单例模式全局实例化一次
4、Foreach循环迭代时,若把其中的某个元素删除,程序报错,怎么找到那个元素?以及具体怎么处理这种情况?(注:Try…Catch捕捉异常,发送信息不可行)
foreach迭代器不能进行操作
在循环中记录索引值或者key值,在迭代结束后,查找到这个元素,在进行删除操作
上一篇
unity游戏开发面试题:C#相关推荐