千鋒教育-做有情懷、有良心、有品質的職業教育機構
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#相關推薦