網站
https://gameinstitute.qq.com/tech-ebook
C#代碼優化
for,while,foreach
通過反編譯發現,foreach在使用的過程中,會自動添加using那一部分,發生裝箱
操作
故循環推薦使用for或者while
字符串拼接(string與StringBuilder)
在十個以內的拼接中,考慮用string,如果太頻繁的使用,考慮StringBuilder
Struct和Class
結論
Struct 在棧中不產生 GC,class 在堆中,會產生 GC。
對 Struct 的結點修改時,修改完以後記得重新賦值。因爲 Struct 賦值是 copy
而不是引用,修改完以後,以前的不生效。
意義
堆棧的空間有限,對於大量的邏輯的對象,創建類要比創建結構好一些。
結構表示輕量對象,並且結構的成本較低,適合處理大量短暫的對象。
在表現抽象和多級別的對象層次時,類是最好的選擇。
大多數情況下該類型只是一些數據時,結構是最佳的選擇。