网站
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
而不是引用,修改完以后,以前的不生效。
意义
堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些。
结构表示轻量对象,并且结构的成本较低,适合处理大量短暂的对象。
在表现抽象和多级别的对象层次时,类是最好的选择。
大多数情况下该类型只是一些数据时,结构是最佳的选择。