千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構
1、For,foreach,Enumerator.MoveNext的使用,與內(nèi)存消耗情況
for通過索引或下標一次進行遍歷
foreach和Enumerator.MoveNext通過迭代進行遍歷
內(nèi)存消耗本質(zhì)沒有多少區(qū)別
迭代器有一個狀態(tài)機
before
running:yield return 或 yield break 或迭代結束
after
2、函數(shù)中多次使用string的+=處理,會產(chǎn)生大量內(nèi)存垃圾(垃圾碎片),有什么好的方法可以解決。
使用stringbuilder的append
3、當需要頻繁創(chuàng)建使用某個對象時,有什么好的程序設計方案來節(jié)省內(nèi)存?
Unity對象池
設計單例模式全局實例化一次
4、Foreach循環(huán)迭代時,若把其中的某個元素刪除,程序報錯,怎么找到那個元素?以及具體怎么處理這種情況?(注:Try…Catch捕捉異常,發(fā)送信息不可行)
foreach迭代器不能進行操作
在循環(huán)中記錄索引值或者key值,在迭代結束后,查找到這個元素,在進行刪除操作
相關推薦